在包中使用外部数据

时间:2017-03-02 12:39:53

标签: r

在我正在处理的软件包中,我想使用其他软件包中的数据(比如“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

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

1 个答案:

答案 0 :(得分:1)

以下是@hrbmstr的答案说明(请参阅问题的评论)。简而言之:首先,创建一个包含新环境的全局变量。然后,将数据加载到该环境。然后,通过全局变量访问数据:

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

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