▶ proc rank
proc rank문은 변수값에 대해 순위를 매기는 명령문이다.

동일값이 있는 경우 옵션에 따라 여러가지 값으로 표현된다.

 

 

proc rank 옵션;
var variables;
ranks names;
by variables;

옵션

out= rank를 적용한 output을 저장할 데이터셋 명

ties=mean  : 같은 순위의 관측치에 대해서는 순위의 평균값을 지정(1순위 2명 -> 1.5순위 2명)
ties=high    : 같은 순위의 관측치에 대해서는 순위의 최대값을 지정(1순위 2명 -> 2순위 2명)
ties=low     : 같은 순위의 관측치에 대해서는 순위의 최소값을 지정(1순위 2명 -> 1순위 2명)
descending : 크기가 큰것부터 작은 것으로 순위를 매겨 나간다.

 

다음과 같은 데이터셋이 있을때 몇가지 옵션을 적용한 값을 비교해보면

 

data a;input x y @@;
cards;
1 7.2 1 7.9 1 7.6 1 6.3 1 8.4
1 8.1 2 8.1 2 7.3 2 7.7 2 7.7
;

run;

 

 

ties에 high옵션을 적용한 a1의 데이터셋에서 rank 값은 위의 설명과 같이 1,2,3,4 순위 이후에 y변수의 5순위 값이 7.7로서 같은 순위를 가지게 된다. 이때 5로 생성되는 것이 아니라 두 값 모두 6으로 생성되는 것을 볼 수 있다. 9순위로 표시된 값도 동일하게 생각하면 된다.

 

반대로 low 옵션을 적용한 a2의 데이터셋의 경우는 y변수 값이 7.7일때 5순위의 같은 순위를 가지는 경우는 5로 표시되는 것을 볼 수 있다.

 

proc rank data=a ties=high out=a1;
ranks rank;
var y;
run;

 

proc rank data=a ties=low out=a2;
ranks rank;
var y;
run;

 

 

 

 

 

아래는 프로그램은 ties 옵션을 적용하지 않을때인데 ties 옵션에 mean을 적용한 것과 동일한 결과를 가지게 된다.

 

proc rank data=a out=a3;
ranks rank;
var y;
run;

 

 

 

 

 

출처: http://blog.naver.com/hur_yoon/

 

+ Recent posts