从“package :: function”形式的字符串中获取函数

时间:2018-01-25 21:57:51

标签: r

There has been discussion关于如何从字符串中获取变量。实际上,get适用于data.table函数:get("data.table")返回data.table。然而,

> get("data.table::data.table")
Error in get("data.table::data.table") : 
  object 'data.table::data.table' not found

有没有办法保留对包名的引用?即,我不想简单地对“::”进行拆分并得到字符串的后半部分。

1 个答案:

答案 0 :(得分:6)

您可以使用envir参数从命名空间中获取函数。

get("data.table", envir = getNamespace("data.table"))

或者更简单地说,@ joran注释,可以使用getFromNamespace()

getFromNamespace("data.table", "data.table")