首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在包函数中访问sysdata.rda

在包函数中访问sysdata.rda
EN

Stack Overflow用户
提问于 2015-10-06 16:04:52
回答 2查看 4.9K关注 0票数 21

我认为将包的内部数据集放入R/sysdata.rda中将使我的函数能够访问数据。但我似乎不知道如何真正访问这个数据帧。documentation实际上没有说明如何访问数据,但我猜测我可以简单地通过名称引用数据帧。然而,这似乎不起作用。

我将devtools::use_data()internal = TRUE结合使用,并创建了sysdata.rda。Lazy-loading设置为TRUE。

为了测试它,我手动加载了它,以确保它是正确的文件。该文件名为nhanes_files。在我的函数中,我只是引用nhanes_files对象并提取必要的数据。当我在我的包项目中测试我的函数时,它似乎可以工作。当我构建并加载包,上传到GitHub,然后将包安装到一个新项目中时,我得到一个错误:Error in find_data() : object 'nhanes_files' not found

要使这些内部数据可供我的函数访问,我还需要执行其他操作吗?

下面是最基本的函数,它不起作用:

代码语言:javascript
复制
#' Print NHANES file listing
#'
#' Provides access to the internal data listing all NHANES files
#'
#' @return A data frame with the list of files that can be accessed through the NHANES website.  Should not generally be used.  Present for debugging purposes and transparency.
#' @export
find_data <- function(){
    nhanes_files
}
EN

回答 2

Stack Overflow用户

发布于 2017-10-06 03:23:41

如果您的包名是somepackage,而保存的对象是带有devtools::use_data(nhanes_files, internal = TRUE)nhanes_files,那么您可以通过调用somepackage:::nhanes_files在您的函数中访问它。注意,这里有3个:

票数 11
EN

Stack Overflow用户

发布于 2021-10-18 20:17:05

我使用myobject <- get0("myobject", envir = asNamespace("mypackage"))

这个公式通过了R CMD CHECK。可以更改该值的名称,并且它可以访问其他已加载包中的对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32964741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档