목차
1. 데이터 나누기(4등분)/순위 구하기
2. Proc rank 옵션
0. 데이터 불러오기
오늘은 proc rank에 대해 알아보기 위해 아래의 데이터를 이용했다.
머신러닝과 딥러닝을 공부할 수 있는 kaggle에서 다운로드한 데이터이다.
1. 데이터 나누기(4등분)/순위 구하기
Proc rank 코드를 이용하여 데이터의 순위를 구하고 4등분, 5등분, 10등분 등 내가 원하는 대로 데이터를 나눌 수 있다.
data = "불러올 데이터"
groups = "순위개수"
out = "출력할 데이터"
var = "순위를 구할 변수(continuous variable)"
ranks = "순위를 저장할 변수"
proc sort data=data; by id; run;
proc rank data=data groups=10 out=new;
var radius_mean;
ranks rank;
run;
data new;
set new;
keep id radius_mean rank;
run;
해당 코드는 데이터를 10등분하여 0부터 9까지 숫자를 부여하는 것이다.
아래 그림처럼 0위부터 9위까지 값들이 새로운 변수(rank)에 저장된 것을 볼 수 있다.
원래 데이터에서는 4번행과 5번행은 각각 12.94와 13.17로 다른 값을 가지고 있었지만,
rank를 통해 같은 순위인 4위를 부여받았다.
4등분을 하기 위해서는 groups=4로 적어주면 된다.
다음에는 0으로 시작하는 값을 1부터 시작할 수 있는 방법에 대해 알아볼 것이다.
2. Proc rank 옵션
1번에서 말한 옵션 말고도 proc rank에는 값을 나열하는데 여러 옵션이 있다.
Descending
원래는 큰 값이 높은 순위를 부여받았는데,
descending을 적으면 큰 값이 0으로 지정된다.
proc rank data=data groups=10 out=new descending;
var radius_mean;
ranks rank;
run;
Percent
groups를 지우고 percent를 입력하면,
순위가 아닌 각 값들의 퍼센트(%) 값이 새로운 변수에 저장된다.
proc rank data=data out=new percent;
var radius_mean;
ranks rank;
run;
Ties
이 부분에 대해서는 더 공부할 예정이다.
Ties를 입력하면 동일한 순위를 가지고 있는 값들을 어떤 값으로 지정할지 정할 수 있다.
Dense = 최빈값
High = 최댓값
Low = 최솟값
Mean = 평균값
- SAS Enterprise Guide 8.2 버전에서 작성된 글입니다.
'프로그래밍 > SAS' 카테고리의 다른 글
007. [Libname] SAS 라이브러리 생성 (0) | 2021.08.21 |
---|---|
006. [do loop, array] SAS 반복문과 배열로 새로운 변수 만들기 (0) | 2021.08.21 |
004. [proc sgplot] SAS sgplot 여러가지 옵션 (2): 색상 (0) | 2021.08.21 |
003. [proc sgplot] SAS sgplot 여러가지 옵션 (1) (0) | 2021.08.20 |
002. [sort, merge] SAS 정렬 & 파일 합치기 (0) | 2021.08.20 |
댓글