티스토리 뷰
rank : 벡터 값들의 순위 출력
rank(x, # 벡터
na.last = TRUE, # na는 마지막에 출력
ties.method = # 동률 순위에 대한 계산 방법 ( defualt = average)
c("average", # 각 순위의 평균으로 통일
"first", # 처음 오는 순서대로 1순위 (처음으로 발견된 데이터 우선)
"last", # 마지막 데이터에 1순위 (마지막에 발견된 데이터 우선)
"random", # 순서 상관없이 랜덤
"max", # 동률 순위 중 가장 높은 값 출력
"min")) # 동률 순위 중 가장 낮은 값 출력(대부분의 rank 구현 방법 )
> disease <- read.csv("전염병발병현황.csv", stringsAsFactors = F)
> library(doBy)
> disease$rank <- rank(disease$콜레라) # 동률 순위 발생 (defualt = average)
> orderBy(~ 콜레라, disease)
월별 콜레라 장티푸스 이질 대장균 A형간염 rank
3 3월 1 200 263 13 1003 2.5
4 4월 1 200 507 13 856 2.5
5 5월 1 194 343 27 959 2.5
10 10월 1 107 142 39 230 2.5
6 6월 3 227 272 92 928 6.0
9 9월 3 145 105 43 364 6.0
11 11월 3 97 377 27 190 6.0
12 12월 4 121 679 21 167 8.0
2 2월 5 165 253 9 535 9.0
1 1월 6 175 550 7 351 10.0
7 7월 14 179 224 201 630 11.0
8 8월 15 163 347 114 505 12.0
> disease$rank <- rank(disease$콜레라, ties.method = 'first')
> orderBy(~ 콜레라, disease)
월별 콜레라 장티푸스 이질 대장균 A형간염 rank
3 3월 1 200 263 13 1003 1
4 4월 1 200 507 13 856 2
5 5월 1 194 343 27 959 3
10 10월 1 107 142 39 230 4
6 6월 3 227 272 92 928 5
9 9월 3 145 105 43 364 6
11 11월 3 97 377 27 190 7
12 12월 4 121 679 21 167 8
2 2월 5 165 253 9 535 9
1 1월 6 175 550 7 351 10
7 7월 14 179 224 201 630 11
8 8월 15 163 347 114 505 12
> disease$rank <- rank(disease$콜레라, ties.method = 'last')
> orderBy(~ 콜레라, disease)
월별 콜레라 장티푸스 이질 대장균 A형간염 rank
3 3월 1 200 263 13 1003 4
4 4월 1 200 507 13 856 3
5 5월 1 194 343 27 959 2
10 10월 1 107 142 39 230 1
6 6월 3 227 272 92 928 7
9 9월 3 145 105 43 364 6
11 11월 3 97 377 27 190 5
12 12월 4 121 679 21 167 8
2 2월 5 165 253 9 535 9
1 1월 6 175 550 7 351 10
7 7월 14 179 224 201 630 11
8 8월 15 163 347 114 505 12
> disease$rank <- rank(disease$콜레라, ties.method = 'random')
> orderBy(~ 콜레라, disease)
월별 콜레라 장티푸스 이질 대장균 A형간염 rank
3 3월 1 200 263 13 1003 4
4 4월 1 200 507 13 856 3
5 5월 1 194 343 27 959 1
10 10월 1 107 142 39 230 2
6 6월 3 227 272 92 928 5
9 9월 3 145 105 43 364 7
11 11월 3 97 377 27 190 6
12 12월 4 121 679 21 167 8
2 2월 5 165 253 9 535 9
1 1월 6 175 550 7 351 10
7 7월 14 179 224 201 630 11
8 8월 15 163 347 114 505 12
> disease$rank <- rank(disease$콜레라, ties.method = 'max')
> orderBy(~ 콜레라, disease)
월별 콜레라 장티푸스 이질 대장균 A형간염 rank
3 3월 1 200 263 13 1003 4
4 4월 1 200 507 13 856 4
5 5월 1 194 343 27 959 4
10 10월 1 107 142 39 230 4
6 6월 3 227 272 92 928 7
9 9월 3 145 105 43 364 7
11 11월 3 97 377 27 190 7
12 12월 4 121 679 21 167 8
2 2월 5 165 253 9 535 9
1 1월 6 175 550 7 351 10
7 7월 14 179 224 201 630 11
8 8월 15 163 347 114 505 12
> disease$rank <- rank(disease$콜레라, ties.method = 'min') # 보편적인 방법
> orderBy(~ 콜레라, disease)
월별 콜레라 장티푸스 이질 대장균 A형간염 rank
3 3월 1 200 263 13 1003 1
4 4월 1 200 507 13 856 1
5 5월 1 194 343 27 959 1
10 10월 1 107 142 39 230 1
6 6월 3 227 272 92 928 5
9 9월 3 145 105 43 364 5
11 11월 3 97 377 27 190 5
12 12월 4 121 679 21 167 8
2 2월 5 165 253 9 535 9
1 1월 6 175 550 7 351 10
7 7월 14 179 224 201 630 11
8 8월 15 163 347 114 505 12
'R > Process' 카테고리의 다른 글
[Python] DataFrame 생성 & data 삽입 (0) | 2019.05.21 |
---|---|
[R] 데이터 테이블(data table) -key, index (0) | 2019.01.14 |
[R] n번째 이전(이후) 행의 값 가져오기 - data.table::shift() (0) | 2019.01.12 |
[R] 데이터 내 NA를 이전 행의 값으로 치환하기 (0) | 2019.01.09 |
[R] 교차 테이블로 데이터 구조 변경하기 - melt, dcast 함수 (2) | 2019.01.08 |