我有一個巨大的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