Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 在Matlab和R之间共享大型数据集

我需要一种相对有效的方法来在Matlab和R之间共享数据。

我已经检查过SaveRMATLAB R-link ,但是SaveR首先将 Matlab的二进制数据格式化为文本字符串,然后将它们打印到ASCII文件,这对于大型数据集而言效率不高,而且MATLAB R-link仅在Windows上有效(它使用基于COM的界面)。

更新:

Dirk发布了一份清单,列出了比SaveRMatlab R-link更好的解决方案。我最近还了解了RAM磁盘 (有关一些实现示例,请参见此处此处 ),并认为它们可能有助于进一步在Matlab和R(或类似的计算环境)之间共享大型数据集。这使我想到以下问题:

假设数据适合在Matlab或R的本机数据容器中的机器内存中:
  1. 到目前为止列出的解决方案是否更适合RAM磁盘?
  2. 在处理RAM磁盘而不是二级存储解决方案时,是否还要考虑其他因素?
谢谢!



回答:

需要注意的是,我有一些关于R方面的知识:
  • CRAN上的R.matlab软件包可以帮助您: 该软件包提供读取和写入MAT文件的方法。它还使与在本地或远程主机上运行的Matlab v6或更高版本进行通信(评估代码,发送和检索对象等)成为可能。
  • 正如您所建议的, HDF5是可能的,但我听说CRAN软件包hdf5中的R支持有些基本
  • NetCDF可能是替代方案; CRAN具有软件包RNetCDFncdfncdf4
  • 使用数据库,尤其是轻量级和基于文件的数据库,例如SQLite或H4,它们都具有R支持
  • 使用通用的序列化/反序列化格式; R通过RProtoBuf支持Google协议缓冲区,Google指向用于Matlab的protobuf-matlab
  • 自己写!尤其是当您只需要基本的东西(例如大矩形矩阵)时,没有什么比直接的二进制写更好。几年前,我为Octave(与Matlab接近)进行了此操作。您可以通过mex文件扩展Matab。 R有它的API和诸如Rcpp的助手。数据集越大,保存转换时看起来就越有吸引力。

更多&回答...
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:20


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.