본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 43. 순서를 알려주는 함수 (rank)

by 만다린망고 2020. 3. 24.
반응형
도구 R로 푸는 통계

43. 순서를 알려주는 함수 (rank)



rank 함수는 각 원소가 크기 순서로 몇위 인지를 반환해줍니다. 가장 작은 값이 1위입니다.


> A=c(21,11,23,15,29,24,13)

> rank(A)

[1] 4 1 5 3 7 6 2


만약 같은 값이 있으면 어떻게 할까요. ties.method 라는 옵션을 사용해서 설정할 수 있습니다. 여섯가지 옵션중 하나를 설정할 수 있습니다.


- average : 평균 순위로 설정

- first : 앞에 있는 원소를 높은 순위로

- last : 뒤에 있는 원소를 높은 순위로

- random : 임의로

- max : 두 순위 중 큰 값으로

- min : 두 순위 중 작은 값으로


예를 들어 설명하겠습니다. 


> A=c(1,2,3,3,4,5,6)

> rank(A)

[1] 1.0 2.0 3.5 3.5 5.0 6.0 7.0


기본값은 average라는 것을 알 수있습니다. 옵션을 하나씩 사용해 봅시다. 


> rank(A,ties.method=c("average"))

[1] 1.0 2.0 3.5 3.5 5.0 6.0 7.0


> rank(A,ties.method=c("first"))

[1] 1 2 3 4 5 6 7


> rank(A,ties.method=c("last"))

[1] 1 2 4 3 5 6 7


> rank(A,ties.method=c("random"))

[1] 1 2 3 4 5 6 7


> rank(A,ties.method=c("max"))

[1] 1 2 4 4 5 6 7


> rank(A,ties.method=c("min"))

[1] 1 2 3 3 5 6 7



NA를 어떻게 처리하는지도 알아봅시다. 기본값은 na.last=TRUE인데, NA를 가장 마지막 순위로 놓습니다.


> A=c(21,11,23,15,29,NA,24,13)

> rank(A)

[1] 4 1 5 3 7 8 6 2


na.last=FALSE 로 설정하면 NA를 가장 첫번째 순위로 놓게 됩니다.


> rank(A,na.last=FALSE)

[1] 5 2 6 4 8 1 7 3


na.last="keep" 으로 설정하면 NA를 원래의 위치로 반환합니다.


> rank(A,na.last="keep")

[1]  4  1  5  3  7 NA  6  2


na.last=NA 로 설정하면 NA를 제외시킵니다.


> rank(A,na.last=NA)

[1] 4 1 5 3 7 6 2



 

영상이 더 편하신 분

 

 


반응형

댓글