在我正在处理的软件包中,我想使用其他软件包中的数据(比如“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
如何在我自己的包中正确使用其他包中的数据集?
答案 0 :(得分:1)
以下是@hrbmstr的答案说明(请参阅问题的评论)。简而言之:首先,创建一个包含新环境的全局变量。然后,将数据加载到该环境。然后,通过全局变量访问数据:
.myenv <- new.env(parent=emptyenv())
someFunc <- function() {
data("pckgdata", package="pckg", envir=.myenv)
foo <- .myenv$pckgdata$whatever
}