【发布时间】:2019-10-18 14:24:22
【问题描述】:
我正在尝试在 R 中的不同包中查找特定函数的方法。例如,methods(broom::tidy) 将返回包 broom 中函数 tidy 的所有方法。对于我当前的问题,如果我可以在另一个函数中使用 methods 函数会更好,如下所示:
f1 <- function(x,y){
methods(x::y)
}
(我删除了与我的问题无关的其他代码部分。) 但是,当我像这样运行函数时:
f1 <- function(x,y){ methods(x::y)}
f1(broom,tidy)
我得到了错误
loadNamespace(name) 中的错误:没有名为“x”的包
如果我尝试将其修改为仅更改功能但保持包相同,我会收到类似的错误:
f2 <- function(y){ methods(broom::y)}
f2(tidy)
错误:'y' 不是从 'namespace:broom' 导出的对象
如何让包和函数名称在函数中正确评估?当前的问题是否与r 尝试评估/替换函数中的值有关?
【问题讨论】: