r - 从命名空间访问(导出)函数

标签 r namespaces

我知道之前有人问过类似的问题 here on SO ,但那里给出的解决方案似乎不适用于我的情况。
我试图通过引用从其他命名空间导出的函数并避免使用 require() 来遵循创建包的惯例。一个函数内。
我基本上是想防止一个函数运行时间太长。例如,

fun <- function(i){
require(R.utils)
setTimeLimit(elapsed=10, transient=TRUE) # prevent taking more than 10secs
 return(i^i)
 }
>fun(10)

工作正常,但如果我尝试:
require(R.utils)
fun <- function(i){
R.utils:::setTimeLimit(elapsed=10, transient=TRUE) # prevent taking more than 10secs
 return(i^i)
 }
>fun(10)

我得到:
Error in get(name, envir = asNamespace(pkg), inherits = FALSE) : 
object 'setTimeLimit' not found

:::::不会改变这种行为。
我愿意接受任何更简单的方法来实现相同的目标。
还有require()真的那么糟糕吗?在函数内部调用?
非常感谢!

编辑:
如果导入有效,那就太好了,谢谢。仍在开发中,所以想确保一切正常。

编辑:
抱歉,它在基地里。不知道我是怎么错过的;我最初使用的是 R.utils::evalWithTimeout并且必须假设两者都在同一个包中。 *看起来很害羞*

最佳答案

我只是发布这个以防止问题显示为未回答,但会很高兴接受另一个......

isTRUE("setTimeLimit" %in% ls(getNamespace("base"), all.names=TRUE))

关于r - 从命名空间访问(导出)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12233361/

相关文章:

r - 如何生成具有不同边际分布的多元随机数?

r - 如何使用 ggplot 在 x Axis 上添加更多标签

c# - 在命名空间中访问类中的 float

c# - 找不到类型或命名空间名称 'OracleConnection'

php - 将 namespace 与从变量创建的类一起使用

r - tidyr::gather 与 reshape2::melt 在矩阵上

R 从因子字符串中删除前导 0

c++ - 实现或定义在未命名/匿名命名空间内声明的类或函数

coding-style - 完全限定的命名与 using 指令只是一个意见问题吗?

r - 如何将 RCurl 和 curl 更新到主机上的版本?