티스토리 뷰

반응형


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

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday