在我正在处理的包中,我想使用另一个包中的数据(比如“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
}