我想了解sas如何阅读此代码。
data scores;
input Grade : $1. @@;
check='abcdf';
if verify(grade,check)>0 then
put @1 'INVALID ' grade=;
datalines;
a b c b c d f a a q a b d d b z
;
run;
日志给出以下结果:
INVALID Grade=q
INVALID Grade=z
有人能告诉我SAS如何读取数据以及@@代表什么?是对每个字段的观察 - 每个“等级=”的等级读数?
答案 0 :(得分:0)
data scores;
input Grade : $1.;
只会读取每行的第一个字符。这是因为,在每次执行input
语句后,即使当前行还有很多内容,文件中的新行也会被读入输入缓冲区。
使用Grade : $1. @@;
,指示SAS不要读取另一行,除非处理当前行上的所有数据。