我已经在我的笔记本电脑上设置并定期更新我的R包到GitHub,跟随Hadley关于Devtools,Roxygen2等的大量文档。昨天我决定使用我的主PC,现在我正在寻求将更改推送到GitHub。输入document()
后出现以下错误:
Error: 'Adult_Females' is not an exported object from 'namespace:gbm.auto'
Adult_Females是/ Data中第一个数据文件的名称。根据{{3}}(向下滚动到'数据')
“存在于数据中的文件/不使用通常的命名空间机制,不需要导出。”
那么......一个人要做什么?我没有以任何方式编辑Adult_Females,我编辑的R脚本没有引用它。我怀疑是这个错误会弹出所有的数据文件,而这恰好是第一个,但这是猜想。
提前致谢。 install_github("SimonDedman/gbm.auto")
如果你想看看。
答案 0 :(得分:5)
在编写包含数据集的R包时遇到了类似的问题。我猜你必须用不同的名字保存数据集。例如,您可以写:
devtools:::use_data(YourDataSetName, pkg = "Path_to_Pkg/data", internal=FALSE)
但是在data.R
文件中,您在最后指定了>> YourDataSetName
以外的数据集名称(假设您在此处遵循Hadley的说明:http://r-pkgs.had.co.nz/data.html) 。确保保存到“data”文件夹的数据对象与data.R
文件中指定的数据对象相同。
答案 1 :(得分:2)
对于数据对象,名称必须在四(4)个位置匹配,因此请全部检查:
所有四个项目必须匹配 - 在这种情况下'foo'。如果更改foo.rda和foo.R文件的名称,比如bar.rda和bar.R,很容易忘记将.rda文件中的对象从'foo'重命名为'bar'。通常最简单的方法是加载文件,重命名对象,并以新名称保存文件:
load('data/foo.rda')
bar <- foo
save(bar, file='data/bar.rda')
如果不这样做,则会收到有关未从命名空间加载的对象的无用错误。您不需要@export数据对象,因此请确保名称在所有位置都匹配。