【发布时间】:2011-12-11 21:19:06
【问题描述】:
有人要求我更改当前导出 .Rdata 文件的软件,以便它以“平台无关的二进制格式”导出,例如 HDF5 或 netCDF。给出了两个原因:
- Rdata 文件只能被 R 读取
- 二进制信息的存储方式因操作系统或架构而异
我还发现"R Data import export manual" 没有讨论 Rdata 文件,尽管它确实讨论了 HDF5 和 netCDF。
discussion on R-help 建议 .Rdata 文件与平台无关。
问题:
- 这些担忧在多大程度上是有效的?
- 例如Matlab 可以在不调用 R 的情况下读取 .Rdata 吗?
- 在这方面,其他格式是否比 .Rdata 文件更有用?
- 是否可以编写一个脚本来创建所有 .Rdata 文件的 .hdf5 类似文件,从而最大限度地减少对程序本身的更改?
【问题讨论】:
-
您无法存储 .Rdata 可以存储的所有类型的 R 对象。如果它只是值数组和通常的维度元数据,应该没有问题,但它仍然不会是一对一的替换。您真的是指所有 .Rdata 文件吗?
-
@mdsumner 你说得很好。我有一些对象是列表和数据框列表或特殊类对象列表(如函数,mcmc.objects),它们在其他应用程序中可能或多或少有用。我可能会保留 Rdata 格式的函数,或者我可以将它们打印为文本文件以用于文档记录。 mcmc.objects 我可以先转换。
-
这真的取决于你的听众。除了通常用于统计计算之外,我对 R 了解不多,但如果您要导出地理空间和/或科学数据,您的客户可能需要 NetCDF。
标签: r file-format hdf5 netcdf