我有一个巨大的CSV文件,它具有数字和文本数据类型的混合。我想在Matlab中将它读入单个矩阵。我将用一个更简单的例子来说明我的问题。比方说,我有这个CSV文件:如何将文本字段读入MATLAB并创建单个矩阵
1,foo
2,bar
我想用来读取到MATLAB这样的:
A=fopen('filename.csv');
B=textscan(A,'%d %d', 'delimiter',',');
C=cell2mat(B);
前两行的工作很好,但问题是,texscan不创建2x2矩阵;相反,它会创建一个1x2矩阵,每个值都是一个数组。所以我尝试使用最后一行将数组合并成一个大矩阵,但由于数组具有不同的数据类型,因此会产生错误。
有没有办法解决这个问题?或者更好的方法来组合数组?
我将它们结合起来创建一个矩阵,它将作为OLS回归中的因变量。我有许多需要转换为虚拟变量的文本字段(例如,表示“true”或“false”的字段将被转换为1或0)。我打算将文本粘贴到矩阵中,然后在必要时通过它并转换字段。但根据你的建议,也许最好是在它们仍在阵列中时再转换它们,然后将它们合并? 所有东西都被转换后,建议使用cell2mat进行组合? 谢谢Doug! – Jack7890 2009-07-08 19:16:02