R 我可以将 .rds 文件用于数据包中的数据吗?

R Can I use .rds files for my data in a package?

我正在尝试将一些代码转换成一个包。根据文档,只有 .RData 文件应该在数据目录中,但我宁愿使用 .rds 文件,因为它们不保留文件名。有时我保存的名称与以后阅读时想要使用的名称不同。而我真的只想有一个数据集的文件,所以.RData文件存储更多的能力实际上是负面的。

所以我的问题是为什么不允许包数据目录中有 .rds 文件?或者有其他方法可以解决这个问题吗?

/data 中唯一可接受的数据文件是用 'save' 保存的数据文件,这意味着它们是 .RData 格式。 Hadley's link, which @r2evans points to, says this. As does section 1.1.6,@rawr 指向。

老问题 - 但你可以。这是一个两步过程。

  1. 将您的数据保存为 .rds 文件
  2. 在加载rds数据的数据目录中创建一个R文件。

我是这样做的:

rdsFile <- paste0(schemeName, "_example.rds")
saveRDS(
      dmdScheme_example,
      file = here::here( "data", rdsFile )
    )
cat(
      paste0(schemeName, "_example <- readRDS(\"./", rdsFile, "\")"),
      file = here::here( "data", paste0(schemeName, "_example.R") )
    )