我有一个MATLAB结构,包含许多字段,它们一起描述了100个对多个变量的观察,如下所示(MATLAB输出):
mystruct =
fieldA: [100x1 double]
fieldB: [100x1 double]
fieldC: [100x1 double]
fieldD: [100x1 char]
fieldE: {100x1 cell}
我想将R用于此数据,因此我将结构保存为.mat文件.并使用R.matlab包导入它.因为我是R的新手,以下可能很笨拙,但我可以很好地访问各个字段(R代码):
> f = readMat('myfile.mat')
> data = f$mystruct
> data
, , 1
[,1]
fieldA Numeric,100
fieldB Numeric,100
fieldC Numeric,100
fieldD Character,100
fieldE List,100
> data = data[, , 1]
> df
好的,所以这里有一个问题:如何推广上述内容,以便为原始结构中的任意数量的字段生成数据框?对于我的5字段示例,我可以手动执行此操作,但是我的下一个数据集有很多字段,我不想全部输入.
根据this question,我尝试了rbind()和ldply(),它构造了令人难以置信的尺寸数据帧(分别为401个1个变量和401个105个变量).