如何使用::的字符串中的软件包和函数名称调用函数



如何使用完全限定的名称(" 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

最新更新