有没有办法从包中自动导入所有隐藏的功能,即只能使用package:::fun
访问的功能?
事实上,我对一个使用了很多内部函数的给定函数进行了一些修改,我想避免在任何地方重新输入package:::
。
我查看了loadNamespace
基函数,但它没有附加未导出的函数。
答案 0 :(得分:7)
好的,我终于找到了使用this related post和eval
# 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)))
我原本以为有一些预建功能可以做到这一点。