Ame*_*ina 15 matlab r hdf5 ramdisk
我需要一种相对有效的方法来在Matlab和R之间共享数据.
我已经检查了SaveR和MATLAB R-link,但SaveR首先将 Matlab的二进制数据格式化为文本字符串,然后将它们打印到ASCII文件,这对大型数据集效率不高,而MATLAB R-link仅适用于Windows(它使用的是基于COM的界面).
Dirk发布了一个比SaveR和Matlab R-link更好解决这个问题的列表.我最近也了解了RAM磁盘(参见此处和这里的一些实现示例),并认为它们可能会促进在Matlab和R(或类似计算环境)之间共享大型数据集的任务.这引出了以下问题:
假设数据适合Matlab或R的本机数据容器中的机器内存:
到目前为止列出的任何解决方案是否更适合RAM磁盘?
在处理RAM磁盘而不是使用secundary-storage解决方案时,是否还需要考虑其他因素?
谢谢!
Dir*_*tel 17
几点想法,以及我更了解R方面的警告:
里边反R.matlab上CRAN包可以帮助:这个包提供方法来读取和写入MAT文件.它还可以与本地或远程主机上运行的Matlab v6或更高版本进行通信(评估代码,发送和检索对象等)
使用数据库,尤其是轻量级和基于文件的数据库,如SQLite或H4,它们都具有R支持
使用通用的序列化/反序列化格式; R有通过对谷歌协议缓冲器支持RProtoBuf和谷歌分的protobuf-MATLAB Matlab的
写你自己的!特别是当你只需要像大矩形矩阵这样基本的东西时,没有什么能比直接二进制写入更好; 几年前我为Octave做了这个(接近Matlab).您可以通过mex文件扩展Matab; R有它的API和帮手,如Rcpp.数据集越大,保存转换时看起来越有吸引力.