11

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

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

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

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

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

data=struct2cell(x) 

但这看起来不太对。顺便说一句,数据是十进制数字。

4

2 回答 2

8

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

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

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

datanum = cell2mat(data');
于 2013-03-04T16:53:30.997 回答
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')))

我希望这会有所帮助

于 2017-03-13T11:55:21.400 回答