我加载了两个具有公共函数名称的库,在包
count()
和plyr
中找到。我想对计数函数的一个特定版本(例如 ANOFA
)执行 do.call
,但我收到错误消息:ANOFA::count
在我的应用程序中,函数名称实际上是从用户输入的字符串中读取的,例如
ANOFA::count(c(1,2,3)) # works as planned
# [1] 1
do.call("ANOFA::count", list(c(1,2,3)) )
# Error in `ANOFA::count`(c(1, 2, 3)) :
# could not find function "ANOFA::count"
,因此
myfunc
必然接收一个字符串作为第一个参数。我看到我可以将参数 do.call()
添加到 env
,这就引出了一个问题,如何找到 do.call()
形式的字符串的环境?有什么办法解决这个问题吗?
myfunc <- "ANOFA::count"