문제
SAS 데이터 세트에서 어떻게 반복을 할 수 있습니까? 예를 들어 첫 번째를 선택했습니다. 변수의. 특정 조건의 발생을 찾고 만족할 때 값을 설정하고 싶습니다.
해결책
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;
첫번째. 그리고 마침내. 명령문으로 (정렬 된) 데이터를 설정하면 플래그가 자동으로 생성됩니다. An example:
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
*/
제휴하지 않습니다 StackOverflow