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에서 빈도표를 만드는 방법