数据未从R中的命名空间导出

dez*_*000 9 namespaces r github devtools roxygen2

我已经在我的笔记本电脑上设置并定期更新我的R包到GitHub,跟随Hadley关于Devtools,Roxygen2等的大量文档.昨天我决定使用我的主PC,现在我正在寻求将更改推送到GitHub.输入后我收到以下错误document():

Error: 'Adult_Females' is not an exported object from 'namespace:gbm.auto'
Run Code Online (Sandbox Code Playgroud)

Adult_Females是/ Data中第一个数据文件的名称.根据这个(向下滚动到'数据')

"生活在数据中的文件/不使用通常的命名空间机制,不需要导出."

那么......一个人要做什么?我没有以任何方式编辑Adult_Females,我编辑的R脚本没有引用它.我怀疑是这个错误会弹出所有的数据文件,而这恰好是第一个,但这是猜想.

提前致谢.install_github("SimonDedman/gbm.auto")如果你想看看.

ali*_*boy 6

在编写包含数据集的R包时遇到了类似的问题.我猜你必须用不同的名字保存数据集.例如,您可以写:

devtools:::use_data(YourDataSetName, pkg = "Path_to_Pkg/data", internal=FALSE)
Run Code Online (Sandbox Code Playgroud)

但在你的data.R文件,你在最后指定的数据集的名字比其他 YourDataSetName(假设你跟着哈德利的说明操作:http://r-pkgs.had.co.nz/data.html).确保保存到"data"文件夹的数据对象与文件中指定的数据对象相同data.R.


0mn*_*mn1 6

对于数据对象,名称必须在四 (4) 个位置匹配,因此请全部检查:

  1. data/foo.rda 文件的名称
  2. data/foo.rda 文件中的对象名称
  3. R/foo.R 文件的名称
  4. R/foo.R 文件末尾的字符串

所有四个项目必须匹配——在本例中为“foo”。如果更改 foo.rda 和 foo.R 文件的名称(例如 bar.rda 和 bar.R),很容易忘记将 .rda 文件中的对象从“foo”重命名为“bar”。通常最简单的方法是加载文件、重命名对象并以新名称保存文件:

load('data/foo.rda')
bar <- foo
save(bar, file='data/bar.rda')
Run Code Online (Sandbox Code Playgroud)

如果不这样做,您会收到一个关于未从命名空间加载对象的无用错误。您不需要 @export 数据对象,因此请确保所有位置的名称都匹配。