将数据集导入matlab并将数据组织到适当的结构中的最佳方法

时间:2010-08-05 14:52:15

标签: data-structures matlab data-import

我有一个10001行的文本文件,其中第一行包含属性的名称,以下行包含值。属性类型是混合的(字符串和浮点数),并由'\ t'分隔。

有谁知道将这样的文本文件导入matlab的最佳方法是什么,并将这些数据组织成适当的结构以供进一步分析?

我想将这些数据用于某些数据挖掘应用程序,因此如果每列都包含元数据(变量类型,数字/分类值......)

感谢您的建议!

1 个答案:

答案 0 :(得分:2)

如何按名称或整数索引对列进行索引?

对于第一种情况,最好的方法是使用struct-array。原始数据中每行的数组元素。有两个问题需要回答:

  1. 如何命名字段?你知道提前标题吗?所有标题字符串都是有效的MATLAB变量名称并且可以用作字段名称吗?在某些情况下,函数genvarname会有所帮助。

  2. 如何将数据矩阵转换为textscan的输出到结构数组中?查看MATLAB帮助中的函数cell2struct。如果您的字段名称(标题)非常动态,那么您仍然可以通过动态创建参数单元格然后调用cell2struct

  3. 来使用cell2struct(args{:})

    如果以数字方式对列进行索引,则将单元格矩阵作为textscan的输出。

    对于元数据,我会使用另一个变量,即struct或struct-array。