如何使用完全限定的名称(" package :: function"(在软件包中调用函数?
这不起作用:
> eval(call("utils::sessionInfo"))
Error in `utils::sessionInfo`() :
could not find function "utils::sessionInfo"
这有效:
eval(call("sessionInfo"))
必须在没有内部知识的情况下可以解析和执行代码段,但是如何?
用parse
替换call
:
eval(parse(text = 'utils::sessionInfo()'))
例如:
eval(parse(text = 'dplyr::count(iris, Species)'))
# A tibble: 3 x 2
Species n
<fctr> <int>
1 setosa 50
2 versicolor 50
3 virginica 50