[问题] 利用 R 读 mat 档

楼主: jackhzt (巴克球)   2017-05-25 16:21:17
最近要用 R 去读 matlab 的 mat 档,matlab 档的内容为: n 个 cell ,每个cell 都存
一个中文字串,发现利用 R.matlab 中的 readMat 去读取,会有以下警告讯息:在强制
变更成纯量时,任何溢位值当作0来处理。
这读取的结果会无法显示任何中文讯息。
请问各位大大有什么好办法吗?
范例:MATLAB:
test{1,1}='猫'
test{2,1}='狗'
test{3,1}='犀牛'
test{4,1}='非洲大草原'
save test.mat
R:
library(R.matlab)
path = system.file("mat-files", package="R.matlab")
pathname = file.path('C:\\Users\\JACK\\\Desktop','test.mat' )
data1 = readMat(pathname)
Warning:
1: In convertUTF8(ary) : 在强制变更成纯量值时,任何溢位值当作 0 来处理
output:
""
输出是空的list
作者: andrew43 (讨厌有好心推文后删文者)   2017-05-25 16:26:00
要不要生成一个类似资料的假mat档让大家试?
作者: celestialgod (天)   2017-05-25 17:52:00
请爱用rmatio这个套件http://imgur.com/a/4JU7T不过基本上CJK文字要经过转换,除非是在unix-like还有v7跟v7.3版本的mat都会有问题一定要用v6版本(摊手或是选择不压缩
楼主: jackhzt (巴克球)   2017-05-25 18:19:00
刚刚试了一下 rmatio 但是出现已下讯息 :Character data not supported type: 17Character data n
作者: celestialgod (天)   2017-05-25 18:20:00
注意 7跟7.3版本的mat不支援,save要用加个-v6
楼主: jackhzt (巴克球)   2017-05-25 18:20:00
not supported type: 17成功没有警告消息了正在用iconv编码 不知道这是什么码到什么码
作者: celestialgod (天)   2017-05-25 18:55:00
看了一下,是转成mat_uint8_tCJK文字应该是没救了https://goo.gl/bN7dsW
楼主: jackhzt (巴克球)   2017-05-25 18:57:00
看来是没救惹? 好巴 QQ
作者: celestialgod (天)   2017-05-25 18:59:00
更正是用char存https://goo.gl/q9kB4R用其他格式储存吧(摊手
楼主: jackhzt (巴克球)   2017-05-25 19:01:00
那还有救吗?
作者: celestialgod (天)   2017-05-25 19:01:00
excel是一个不错的选择XD
楼主: jackhzt (巴克球)   2017-05-25 19:03:00
XDDDDD 看来要这一步要放弃使用R了谢谢C大 <3
作者: celestialgod (天)   2017-05-25 19:08:00

Links booklink

Contact Us: admin [ a t ] ucptt.com