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
영상이 더 편하신 분
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R 강의] 45. 히스토그램 꾸미기 (0) | 2020.03.24 |
---|---|
[R 강의] 44. 히스토그램 그리기 (0) | 2020.03.24 |
[R 강의] 42. 중복 된 값을 다루는 함수 (unique, duplicated) (0) | 2020.03.23 |
[R 강의] 41. 복제함수 (rep) (0) | 2020.03.23 |
[R 강의] 40. 등차수열 생성함수 (seq함수) (0) | 2020.03.23 |
댓글