我在matlab中有一个结构,例如
A =
in:[200x1 double]
cols:{28x1}
行:[200x28 double]
如何在R中创建一个数据框,其中A.cols作为列,A.rows作为标题 和A.in作为数据
我正在使用R.Matlab软件包,但是当我读取mat文件时卡住了,我该怎么做? 谢谢你的帮助!
答案 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
。