Проверка векторов данных в SAS - PullRequest
0 голосов
/ 14 ноября 2018

Я хочу просто проверить значения, прочитанные в 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 голосов
/ 15 ноября 2018

if без then - это специальная форма if, отсутствующая на других языках. Он известен как подмножество if, и поток программы проходит только через оператор, если оценка верна.

Строки набора данных output неявно и неявно, когда поток программы достигает нижней части шага (если в другом месте шага нет явного output)

Таким образом, все строки файла данных были прочитаны, только пять из них соответствовали поднабору, если критерии утверждены if code='P';, и не прошли к концу шага и были неявно выведены.

...