【发布时间】:2013-12-02 16:17:36
【问题描述】:
我有一个包含数字数据的数据集。代码如下:
data test;
infile 'C:\Users\Public\Documents\Test\test.dat';
input a1 a2 a3 a4 b1 b2 b3 b4;
run;
proc print data=test;
run;
当我运行它时,我收到以下错误消息:
NOTE: Invalid data for a1 in line 1 1-51.
NOTE: Invalid data for a2 in line 2 1-50.
NOTE: Invalid data for a3 in line 3 1-50.
NOTE: Invalid data for a4 in line 4 1-50.
NOTE: Invalid data for b1 in line 5 1-51.
NOTE: Invalid data for b2 in line 6 1-51.
NOTE: Invalid data for b3 in line 7 1-51.
NOTE: Invalid data for b4 in line 8 1-51.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+-
8 CHAR 18.597.6.261.4.032.0.215.-0.099.32.580.36.430.1.038 51
ZONE 332333032333032333032333023233303323330332333032333
NUMR 18E59796E26194E03290E2159D0E099932E580936E43091E038
我该如何解决这个问题?出现此错误消息是因为数字的位数过多吗?
已添加。以下是我的数据中的一些示例行:
21.312 7.039 5.326 .932 -.030 35.239 36.991 1.057
21.206 6.979 5.237 .871 .015 35.713 36.851 1.064
这里还有错误信息的另一部分:
NOTE: Invalid data errors for file ''C:\Users\Public\Test\test.dat'' occurred
outside the printed range.
NOTE: Increase available buffer lines with the INFILE n= option.
【问题讨论】:
-
你能给我们提供你文件中的一两行数据吗?
-
@JohnChrysostom:我添加了一些示例行。
-
您的代码似乎与这些示例行一起工作得很好...您确定文件的位置正确吗?另外,你能抓住一些给出无效数据的行吗?
-
@JohnChrysostom:这些是我要读取的数据中的行。代码不适用于任何示例行。我还添加了错误消息的其他部分。
-
我不认为你可以把整个文件放到某个地方?它是大的还是敏感的?
标签: sas