SAS无效数据
我有一个包含数字数据的数据集。代码如下:SAS无效数据,sas,Sas,我有一个包含数字数据的数据集。代码如下: 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-
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.
作为分隔符的
会使它混淆。它正在尝试读取18.579.6.261。。。作为一个数字。但事实并非如此,这导致了错误。如果可能的话,使用空格作为分隔符,您的语句就会起作用。作为分隔符的
会混淆它。它正在尝试读取18.579.6.261。。。作为一个数字。但事实并非如此,这导致了错误。如果可能,请使用空格作为分隔符,您的语句将正常工作。看起来SAS将每一行视为一个变量,而不是一个包含多个变量的观察值,这表明它无法正确识别分隔符。如果像您发布的示例行一样,分隔符是一个空格,那么您的代码应该可以工作。或者,您可以通过执行以下操作来确保它使用空格分隔的格式:
data test;
infile "C:\Users\Public\Documents\Test\test.dat" dlm=" ";
input a1 a2 a3 a4 b1 b2 b3 b4;
run;
如果它实际上是以制表符分隔的,则可能需要使用dlm='09'x
让我们知道这是否有帮助。看起来SAS将每一行视为一个变量,而不是一个包含多个变量的观察值,这表明它无法正确识别分隔符。如果像您发布的示例行一样,分隔符是一个空格,那么您的代码应该可以工作。或者,您可以通过执行以下操作来确保它使用空格分隔的格式:
data test;
infile "C:\Users\Public\Documents\Test\test.dat" dlm=" ";
input a1 a2 a3 a4 b1 b2 b3 b4;
run;
如果它实际上是以制表符分隔的,则可能需要使用dlm='09'x
让我们知道这是否有帮助。您能给我们一行或两行您文件中的数据样本吗?@JohnChrysostom:我添加了一些样本行。您的代码似乎可以很好地处理这些样本行。。。您确定文件的位置正确吗?另外,你能抓取一些给出无效数据的行吗?@JohnChrysostom:这些是我想读入的数据中的行。代码不适用于任何采样行。我还添加了一些错误消息的其他部分。我想你不能把整个文件放到某个地方吗?它是大的还是敏感的?你能从你的文件中给我们一两行数据样本吗?@JohnChrysostom:我添加了一些样本行。你的代码似乎可以很好地处理这些样本行。。。您确定文件的位置正确吗?另外,你能抓取一些给出无效数据的行吗?@JohnChrysostom:这些是我想读入的数据中的行。代码不适用于任何采样行。我还添加了一些错误消息的其他部分。我想你不能把整个文件放到某个地方吗?它是大的还是敏感的?空间的分隔符是什么
delim=“”
?空格的分隔符是什么<代码>delim=“”?