我正在尝试使用 R.matlab 将 matlab 文件读入 R,但遇到此错误:
require(R.matlab)
r <- readMat("file.mat", verbose=T)
Trying to read MAT v5 file stream...
Error in readTag(this) : Unknown data type. Not in range [1,19]: 18569
In addition: Warning message:
In readMat5Header(this, firstFourBytes = firstFourBytes) :
Unknown MAT version tag: 512. Will assume version 5.
如何解决这个问题或者是否有其他方法来加载 matlab 文件?我可以使用 hdf5load,但听说这会弄乱数据。谢谢!
回复有点晚了,但我最近也遇到了同样的问题。对我来说,问题是我默认使用“-v7.3”选项保存 matlab 文件。经过广泛搜索,R.matlab 源文档(http://cran.r-project.org/web/packages/R.matlab/R.matlab.pdf http://cran.r-project.org/web/packages/R.matlab/R.matlab.pdf) 表示以下内容:
读取压缩的 MAT 文件
从 MATLAB v7 开始,默认使用压缩的 MAT 版本 5 文件
[3,4]。该功能支持读取此类
文件(如果运行 R v2.10.0 或更高版本)。对于旧版本的 R,
使用R压缩包。要安装该软件包,请参阅
说明位于http://www.omegahat.org/ http://www.omegahat.org/cranRepository.html。作为一个
最后一招,在 MATLAB 中使用 save -V6 编写 MAT 文件
兼容MATLAB v6,即编写非压缩的MAT
版本 5 文件。
关于使用“-v7.3”在 MATLAB 中保存的 MAT 文件
该功能不
支持在 MATLAB 中保存为 save('foo.mat',
'-v7.3')。此类 MAT 文件的文件格式完全不同
[5,6] 与使用“-v7”保存的内容相比。”
在保存命令末尾添加“-v7”选项修复了此问题。
即:保存('文件名','变量','-v7')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)