【问题标题】:Installed R github package does not include R/sysdata.Rda安装的 R github 包不包含 R/sysdata.Rda
【发布时间】:2020-06-16 22:16:00
【问题描述】:

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

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

这可能是与accessing sysdata.rda within package functionsR 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 年 6 月 17 日创建

【问题讨论】:

    标签: r github r-devtools r-usethis


    【解决方案1】:

    案件很重要!该文件必须称为“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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 2020-01-06
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多