在我正在处理的一个程序包中,我想使用另一个程序包(例如“ pckg”)中的数据。该包已导入(在DESCRIPTION中为“ Imports:pckg”,在名称空间中为import(pckg))。在其中一项功能中,我具有以下功能:

someFunc <- function() {
  data(pckgdata)
  foo <- pckgdata$whatever
}


检查程序包时,这将导致以下错误消息:

someFunc: no visible binding for global variable ‘pckgdata’
someFunc : <anonymous>: no visible binding for global variable
  ‘pckgdata’
Undefined global functions or variables:
  pckgdata


我应该如何正确使用自己包装中其他包装的数据集?

最佳答案

这是@hrbmstr答案的描述(请参阅问题注释)。简而言之:首先,创建一个包含新环境的全局变量。然后,将数据加载到该环境中。然后,通过全局变量访问数据:

.myenv <- new.env(parent=emptyenv())

someFunc <- function() {
  data("pckgdata", package="pckg", envir=.myenv)
  foo <- .myenv$pckgdata$whatever
}

关于r - 在包中使用外部数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42555811/

10-12 19:52