【发布时间】:2013-11-29 06:15:33
【问题描述】:
希望有人能帮我解决这个问题:
我需要将一个 txt.file 加载到 matlab 中。 txt.file 看起来像这样:
1 80 1 . 32
1.374 1 0 . 0
它包含 38 个变量和 11,674 个观察值(我知道这一点是因为我已成功将数据加载到 STATA 中)。 '。'是缺失值。我使用下面的代码:
data = textread('data.txt','','delimiter','.','emptyvalue',NaN);
这不会给我任何错误。但是,生成的数据仅包含 11674 行和 12 列。当将 matlab 中的数据与文本文件进行比较时,matlab 似乎只读取了文本文件的第一季度。
我也尝试将 DATA 加载到 STATA 中,将其导出到 excel 然后使用:
data = xlsread('data.xls','Sheet1');
这也不起作用,因为我没有窗户。 matlab报错:
Warning: Could not start Excel server for import, 'basic' mode will be used.
Error using xlsread (line 232)
XLSREAD unable to read sheet Sheet1.
Error reading record for cells starting at column 0. Try saving as Excel 98.
如果您需要更多信息,请告诉我。
感谢您的宝贵时间!
【问题讨论】:
-
.是否曾经代表小数点,或者它只是一个“无数据”标记。这是一个非常糟糕的字符选择……无论哪种方式,您都不应该将其视为分隔符。在您的第二行中,您有号码1.374。这是一个数字,还是1, missing, 374? -
不是每个 .是一个缺失值。例如,1.374 是一个数字。不是 1,缺少,374。但是,txt2mat 为我解决了。