Mik*_*kko 11 gis r download cran
所述CRAN政策限制ř封装尺寸为5 MB,这是对小的图形的应用,如映射。有多种处理封装尺寸限制的方法,所有这些方法都有其缺点。下面列出了替代方案。
我的问题是:如何使R包只下载一次数据文件(即它们保存到R重新启动后找到它们的地方)?该解决方案应该适用于所有常见的 CRAN 平台。
我一直在为 R开发一个映射包,它应该在ggplot2 中绘制全球任何地方的测深图。我列出了在我遇到的 CRAN 包中处理大型数据文件的替代方法。替代方案是在编写地图时考虑到的,但适用于需要大型单个文件的任何情况:
install.packages()像使用任何其他 CRAN 包一样简单地使用该功能。事情进展顺利,每个人都很开心。install.packages()从 CRAN 安装原始包,但对开发人员也有不少缺点。设置数据包以通过所有 CRAN 检查可能有点困难,因为目前在线任何地方都没有正确指定所有步骤:原始包必须请求安装数据包的许可;对于 R 的当前开发版本,数据包必须作为单独的二进制文件分发,至少适用于 Windows 和 Mac,但也可能适用于 drat 存储库中的 Fedora;数据包应Suggests:与URL一起列出下Additional_repositories:在描述文件; 提一下我目前遇到的一些惊喜。总而言之,这种替代方案对用户来说很好,但需要开发人员进行维护。一些映射包(例如marmap)将数据下载到临时文件来自外部服务器。这种方法的优点是易于满足 CRAN 要求,并且用户不必存储比应用程序所需更多的数据。该方法还允许在下载函数中指定分辨率,这对于“缩放”地图非常有用。缺点是该过程必然比简单地在本地存储地图数据花费更多时间。另一个缺点是地图数据需要以栅格格式分发(或者服务器必须裁剪矢量)。在撰写本文时,与栅格数据相比,矢量数据允许在 R 和 ggplot2 中更轻松地操作颜色和样式。由于元素不受分辨率的限制,因此矢量还可以使图形更清晰。第三个缺点是下载方法(据我所知)必须针对临时文件(即 由于操作系统差异,在编写 CRAN 包时,它们会在 R 重新启动时丢失。据我所知,不允许将 Rdata 文件添加到已经下载的和现有的 R 包中,并且找到一个位置来下载适用于所有主要 CRAN 操作系统的数据可能很困难。
我一次又一次地被 CRAN 拒绝,因为我没有设法解决数据下载问题。网上有一些帮助,但我觉得这个问题还没有得到充分解决。最佳解决方案是在制作地图时根据需要下载sp矢量 shapefile(对象可以以 .Rdata 格式存储)。这将允许为某些经常需要的区域添加详细地图。shapefile 可以存储在 GitHub 上,这将允许在开发过程中快速灵活地修改这些文件。
您是否尝试过使用 xz 压缩来减小 sysdata 的大小?我相信默认值是 gzip,压缩级别设置为 6。如果您在使用 保存包数据时使用 bzip2 或 xz 压缩save(),R 将使用这些压缩算法与压缩级别 9 结合使用。结果是您获得更小的包数据对象。
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |