在包中使用外部数据

在我正在处理的包中,我想使用另一个包中的数据(比如“pckg”).导入该包(在NAMESPACE中的DESCRIPTION和import(pckg)中导入“Imports: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
}
点赞