在SAS中检查数据向量

时间:2018-11-14 19:40:34

标签: sas

我只想检查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表示。

我仍在学习,不太清楚这意味着什么...我可以帮忙吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

没有if的{​​{1}}是then的一种特殊形式,在其他语言中找不到。这称为子集if,并且程序流仅在评估为true时才通过该语句。

当程序流到达该步骤的底部时,数据集的行默认为if(除非在该步骤的其他位置有明确的output

因此,读取了所有数据文件行,如果output声明了标准,则只有五个满足子设置,并且直到步骤结束并隐式输出。