如何将R数据转换为matlab矩阵

时间:2013-03-04 16:10:00

标签: r matlab matrix

我在R中有一个大数据矩阵。我使用包'R.matlab'将数据转换为matlab数据,如下所示:

writeMat(con="...filepath", x=data)

我没有使用matlab的经验所以请耐心等待我:

当我将数据加载到matlab时,它说我有1x1结构。

我想把它变成矩阵形式。我试过了:

data=struct2cell(x) 

但这看起来不太合适。数据是十进制数字btw。

2 个答案:

答案 0 :(得分:7)

看起来R中的data变量是一个数据框。在写入mat文件之前首先尝试将其转换为矩阵:

writeMat(con="...filepath", x=as.matrix(data))

您可能想要的另一种方法是在MATLAB中将单元格数组转换为矩阵:

datanum = cell2mat(data');

答案 1 :(得分:1)

如果您使用的是Jupyter笔记本电脑。我想你要做的就是首先使用

安装R.matlab库
install.packages(c('R.matlab'), repos='http://cran.us.r-project.org')

然后使用

实现此库
library(R.matlab)

之后,您可能会在R中说出resi

的数据框
#Save in Matlab v6 format with 'writeMat'
writeMat("resi.mat", labpcexport = resi)

我现在转到Matlab并通过将结构转换为单元格然后将单元格转换为矩阵来在该特定目录中调用它

resi=cell2mat(struct2cell(load('resi.mat')))

我希望有帮助