从包中导出所有隐藏的函数

时间:2016-06-15 10:30:44

标签: r namespaces package

有没有办法从包中自动导入所有隐藏的功能,即只能使用package:::fun访问的功能?

事实上,我对一个使用了很多内部函数的给定函数进行了一些修改,我想避免在任何地方重新输入package:::

我查看了loadNamespace基函数,但它没有附加未导出的函数。

1 个答案:

答案 0 :(得分:7)

好的,我终于找到了使用this related posteval

的黑客攻击
# get all the function names of the given package "mypack"
r <- unclass(lsf.str(envir = asNamespace("mypack"), all = T))

# filter weird names
r <- r[-grep("\\[", r)]
r <- r[-grep("<-", r)]

# create functions in the Global Env. with the same name
for(name in r) eval(parse(text=paste0(name, '<-mypack:::', name)))

我原本以为有一些预建功能可以做到这一点。