安装的 R github 包不包含 R/sysdata.Rda

Installed R github package does not include R/sysdata.Rda

我有一个 R github 包,我可以使用 devtools::install_github("jwilliman/ethnicNZ")(或 remotes::install_github)'successfully' 安装它。在 github 上,包包含使用命令 usethis::use_data(ethnic05, internal = TRUE) 保存为 'R/sysdata.Rda' 的内部数据。

但是,安装后 'sysdata.rdb' 和 'sysdata.rdx' 文件从“../Library/ethnicNZ/R”文件夹中丢失,当 运行 命令 ethnicNZ::find_data() 从包中我得到错误 Error in ethnicNZ::find_data() : object 'ethnic05' not found。 (这些文件存在,如果我直接从我的本地 git 安装包,则该命令有效)。

这可能是与 accessing sysdata.rda within package functions and R Package Build/Install Error: "object not found" even though I have it in R/sysdata.rda 类似的问题,但都没有公认的答案。希望我的示例具有足够的可重现性,以便其他人进行故障排除。

编辑

我刚刚在安装时注意到出现错误

   Subdirectory 'R' contains invalid file names:
     'sysdata.Rda'

为什么这是无效的,我该如何避免?

sessionInfo()
#> R version 4.0.0 (2020-04-24)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 10 x64 (build 17134)
#> 
#> Matrix products: default
#> 
#> locale:
#> [1] LC_COLLATE=English_New Zealand.1252  LC_CTYPE=English_New Zealand.1252   
#> [3] LC_MONETARY=English_New Zealand.1252 LC_NUMERIC=C                        
#> [5] LC_TIME=English_New Zealand.1252    
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] compiler_4.0.0  magrittr_1.5    tools_4.0.0     htmltools_0.4.0
#>  [5] yaml_2.2.1      Rcpp_1.0.4.6    stringi_1.4.6   rmarkdown_2.1  
#>  [9] highr_0.8       knitr_1.28      stringr_1.4.0   xfun_0.14      
#> [13] digest_0.6.25   rlang_0.4.6     evaluate_0.14

reprex package (v0.3.0)

于 2020-06-17 创建

案件很重要!该文件必须名为 'sysdata.rda' 而不是 'sysdata.Rda'.

我发现我以前把数据保存为save(ethnic05, filename = "sysdata.Rda"),后来改用usethis::use_data(ethnic05, internal = TRUE)usethis::use_data 保存在以前的文件上,但没有更正扩展名的大小写。在恢复正确的 sysdata.rda 之前,我不得不删除 'sysdata.Rda'、提交并推送到 github。

https://cran.r-project.org/doc/manuals/r-release/R-exts.html 第 1.1.5 节所列,

"R 子目录仅包含 R 代码文件。要安装的代码文件必须...具有扩展名 13 .R、.S、.q、.r 或 .s 之一。...允许两个例外:如果 R 子目录包含文件 sysdata.rda.