如何使用完全限定名称调用包中的函数(" package :: function")?
这不起作用:
> eval(call("utils::sessionInfo"))
Error in `utils::sessionInfo`() :
could not find function "utils::sessionInfo"
这有效:
eval(call("sessionInfo"))
必须能够在没有内部知识的情况下解析和执行代码片段,但是如何?
答案 0 :(得分:1)
将call
替换为parse
:
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