Sas에서 proc rank를 사용하는 방법(예제 포함)


SAS에서 PROC RANK를 사용하여 하나 이상의 숫자 변수의 순위를 계산할 수 있습니다.

이 절차를 사용하는 가장 일반적인 네 가지 방법은 다음과 같습니다.

방법 1: 1개의 변수 순위 지정

 proc rank data =original_data out =ranked_data;
   var var1;
   ranks var1_rank;
run ;

방법 2: 그룹별로 변수 분류

 proc rank data =original_data out =ranked_data;
   var var1;
   by var2;
   ranks var1_rank;
run ;

방법 3: 변수의 백분위수 순위 지정

 proc rank data =original_data groups =4 out =ranked_data;
   var var1;
   ranks var1_rank;
run ;

방법 4: 다중 변수 분류

 proc rank data =original_data out =ranked_data;
   var var1 var2;
   ranks var1_rank var2_rank;
run ;

다음 예에서는 SAS의 다음 데이터 세트에 각 방법을 사용하는 방법을 보여줍니다.

 /*create dataset*/
data original_data;
    input team $pointsrebounds;
    datalines ;
At 25 10
At 18 4
At 18 7
At 24 8
B 27 9
B 33 13
B 31 11
B 30 16
;
run ;

/*view dataset*/
proc print data = original_data; 

예시 1: 랭크 1의 변수

다음 코드는 각 팀이 득점한 점수의 순위를 매기는 points_rank 라는 새 변수를 생성하는 방법을 보여줍니다.

 /*rank points scored by team*/
proc rank data =original_data out =ranked_data;
   var points;
   ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data;

가장 많은 점수를 얻은 팀이 가장 높은 순위를 받고, 가장 적은 점수를 얻은 팀이 가장 낮은 순위를 받습니다.

점수가 동점인 경우 평균 순위가 지정됩니다. 예를 들어, 첫 번째와 두 번째로 낮은 점수가 있는 행은 1과 2의 평균이므로 1.5의 순위를 받습니다.

대신 내림차순 설명을 사용하여 가장 많은 점수를 얻은 팀에 가장 낮은 순위를 할당할 수 있습니다.

 /*rank points scored by team in descending order*/
proc rank data =original_data descending out =ranked_data;
    var points;
    ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data; 

예시 2: 그룹당 랭크 1의 변수

다음 코드는 득점한 점수의 순위를 매기고 팀별로 그룹화하는 points_rank 라는 새 변수를 생성하는 방법을 보여줍니다.

 /*rank points scored, grouped by team*/
proc rank data =original_data out =ranked_data;
    var points;
    by team;
    ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data; 

예 3: 변수의 백분위수 순위 지정

groups 문을 사용하여 변수를 백분위수 그룹으로 정렬할 수 있습니다. 예를 들어, 각 포인트 값을 사분위수(4개 그룹)로 분류할 수 있습니다.

 /*rank points into quartiles*/
proc rank data =original_data groups =4 out =ranked_data;
   var points;
   ranks points_rank;
run ;

/*view ranks*/
proc print data =ranked_data;

가장 낮은 사분위수에 포인트 값이 있는 행에는 0 그룹이 할당되고, 다음으로 가장 낮은 사분위수에 포인트 값이 있는 행에는 1 그룹이 할당되는 식입니다.

참고 : 십분위수로 값을 할당하려면 groups=10 을 사용하면 됩니다.

예시 4: 여러 변수 분류

다음 코드는 포인트리바운드를 분류하기 위해 새 변수를 모두 생성하는 방법을 보여줍니다.

 proc rank data =original_data out =ranked_data;
   var points rebounds;
   ranks points_rank rebounds_rank;
run ; 

추가 리소스

다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

SAS에서 절차 요약을 사용하는 방법
SAS에서 Proc Tabulate를 사용하는 방법
SAS에서 PROC 전치를 사용하는 방법
SAS에서 빈도표를 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다