matlab到R导入结构

时间:2014-10-09 17:46:02

标签: r matlab

我在matlab中有一个结构,例如

A =

in:[200x1 double]

cols:{28x1}

行:[200x28 double]

如何在R中创建一个数据框,其中A.cols作为列,A.rows作为标题 和A.in作为数据

我正在使用R.Matlab软件包,但是当我读取mat文件时卡住了,我该怎么做? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

MATLAB:中将A转换为数据集并使用export()函数创建文本文件(而不是.mat文件)。请注意,列和行名称必须是字符串的单元格,而不是数字向量。  由于您的A.in是一个数字矩阵:

A.rows = [11,12,13,14,15];      %#  numeric vector
A.cols = {'A','B','C','D','E'}; %#  cell of strings
A.in = magic(5);                %#  numeric matrix
DS = mat2dataset(A.in,'VarNames',A.cols, 'ObsNames',cellstr(num2str(A.rows')));
export(DS,'file','A.txt')         

您希望的文件名称,例如'A.TXT'。 您可以通过以下方式检查文件的内容,称为“A.txt”:

 type A.txt

R 中选择包含'A.txt'文件的文件夹并使用[{1}}功能:

read.table()

在R中探索您想要的MATLAB变量:

A <- read.table('A.txt',header = TRUE)
rownames(A)    <- A$Observations
A$Observations <- NULL

请注意在您提供的示例中,您的数据位于head(A) # A B C D E # 11 17 24 1 8 15 # 12 23 5 7 14 16 # 13 4 6 13 20 22 # 14 10 12 19 21 3 # 15 11 18 25 2 9 ,行名称位于A.rows