如何在R包中保存非常大的.rda文件

时间:2014-04-22 07:32:33

标签: r package-development

我急于将两个460 x 5000数字矩阵保存到我的R包中。 按照以下说明操作: How to effectively deal with uncompressed saves during package check? 我将对象保存为:

save(mat1,file="mat1.rda",compress="xz")
save(mat2,file="mat2.rda",compress="xz")

但是,生成的R对象非常大(8.7MB和8.9 MB),R CMD CHECK --as-cran给了我注释:

 * checking installed package size ... NOTE
   installed size is 20.1Mb
   sub-directories of 1Mb or more:
   data  20.0Mb

根据我的理解,我们无法向CRAN提交R包,而CRAN没有通过" (即没有注意也没有警告)R CMD CHECL --as-cran。有没有办法将数据集压缩得更小?

2 个答案:

答案 0 :(得分:5)

是否真的有必要包含这些文件?我看到了几个选项:

  • 包含您在示例中使用的矩阵的较小子集。
  • 即时生成矩阵,例如随机数。
  • 将文件放在某处以供下载,并确保示例不会执行。

答案 1 :(得分:1)

考虑将数据分发到单独的数据包中,该数据包将仅构建,上载和安装一次(希望如此)。将此与您更新软件包时反复重新传输相同数据所需的工作进行比较。

(当然,这仅适用于您打算为您的软件包提供更新的情况。如果您的代码从一开始就是完美的,没有区别;-))