我只想检查SAS中读取的值。在原始数据文件
中----+---10----+---20
H Let
P Grn Lea Qua Gro
P Ice Pls Frm
P Rom Qua Gro
H Sqs
P Ylw Tas Acr
P Zuc Pls Frm
我提交了代码
data a;
infile 'FileA.txt';
retain vege;
input code $1. @;
if code='H' then input @3 vege $3.;
if code='P';
input @3 variety : $10. @15 Supplier : $11.;
run;
proc print noobs;
run;
我得到了观察
Let P Gm Gro
Let P Ice Frm
Let P Rom Gro
Sqs P Ylw Acr
Sqs P Zuc Frm
我理解if代码= P;是代码值为P的原因,但我想知道是否应该进行更多的观察。
根据我正在研究的教科书,第六个观察值具有某些值,并且用_ N _ = 6表示。
我仍在学习,不太清楚这意味着什么...我可以帮忙吗?
谢谢。
答案 0 :(得分:0)
没有if
的{{1}}是then
的一种特殊形式,在其他语言中找不到。这称为子集if
,并且程序流仅在评估为true时才通过该语句。
当程序流到达该步骤的底部时,数据集的行默认为if
(除非在该步骤的其他位置有明确的output
)
因此,读取了所有数据文件行,如果output
声明了标准,则只有五个满足子设置,并且直到步骤结束并隐式输出。