sas データセットで反復を行うにはどうすればよいですか。たとえば、私は最初のものを選びました。変数の。そして、特定の条件の発生を見つけて、それが満たされたときに値を設定したい
1845 次
1 に答える
3
SASデータステップには、観測のループが組み込まれています。なんらかの理由で、やりたくない限り、何もする必要はありません。たとえば、次の例では、観測ごとに乱数が生成されます。
data one;
set sashelp.class;
rannum = ranuni(0);
run;
変数をループしたい場合は、配列があります。たとえば、次の例では、変数var1からvar10を乱数で初期化します。
data one;
array vars[1:10] var1-var10;
do i = 1 to 10;
vars[i] = ranuni(0);
end;
run;
最初。そして最後。byステートメントで(ソートされた)データを設定すると、フラグが自動的に生成されます。例:
proc sort data=sashelp.class out=class;
by age;
run;
data one;
set class;
by age;
first = first.age;
last = last.age;
run;
/* check */
proc print data=one;
run;
/* on lst
Obs Name Age first last
1 Joyce 11 1 0
2 Thomas 11 0 1
3 James 12 1 0
4 Jane 12 0 0
5 John 12 0 0
6 Louise 12 0 0
7 Robert 12 0 1
8 Alice 13 1 0
...
18 William 15 0 1
19 Philip 16 1 1
*/
于 2009-02-21T05:57:37.660 に答える