2014-10-09 38 views
0

我在MATLAB的结构例如MATLAB至R进口结构

A =

在:[200x1双]

COLS:{28x1}

行:[200x28双]

如何在R中创建一个数据帧,其中A.cols为列,并且.rows为头部 和A.in作为数据

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

回答

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'文件,并使用功能read.table()

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

探索您的R中所需的MATLAB变量:

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中,而行名称位于A.in