如何在 R 包构建中压缩保存

How to compress saves in R package build

我试图在 R 包中包含一个(有点)大的数据集。我在 Rstudio 检查期间不断收到警告,说我可以通过压缩保存 space:

* checking data for ASCII and uncompressed saves ... WARNING

  Note: significantly better compression could be obtained
        by using R CMD build --resave-data
          old_size new_size compress
  slp.rda    499Kb    310Kb    bzip2
  sst.rda    1.3Mb    977Kb       xz

我试过将 -- resave-data 添加到 RStudio 的 "Configure Buid Tools" 但没有效果。

devtools 函数 use_data 接受压缩类型的参数,通常可以更轻松地将数据添加到 pkgs。使用它,或仅 save 自己使用),在保存数据时使用 xz 压缩(对于 save 它是 compression_level 参数)。

如果你想使用 --resave-data 那么你可以尝试 --resave-data=best 因为只使用 --resave-data 默认为 gzip (在这种情况下你几乎什么也得不到)。

有关详细信息,请参阅 Building package tarballs

如果您有一个不想重新创建的大型数据集,另一种选择是在 R 中使用 tools::resaveRdaFiles。将其指向数据集文件或整个数据目录,它将以您选择的格式压缩您的数据。有关详细信息,请参阅其 manual page