A: 순위 기능의 tie.method에 대한 전체 가이드
기본 R의 Rank() 함수를 사용하여 벡터의 값 순위를 반환할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
순위(x, na.last=TRUE,ties.method=”평균”)
금:
- x : 분류할 값이 포함된 벡터
- na.last : TRUE이면 누락된 값이 마지막에 배치됩니다. FALSE인 경우 누락된 값이 먼저 입력됩니다.
- Tie.method : 동점 처리 방법 (기본값은 “평균”)
Rank() 함수에 대한 Ties.method 인수는 동점 처리 방법을 지정합니다.
이 인수는 다음 옵션을 허용합니다.
- average : (기본값) 연결된 각 항목에 평균 순위를 할당합니다(3위와 4위 항목은 모두 3.5 순위를 받습니다).
- first : 첫 번째로 연결된 요소를 가장 낮은 순위에 할당합니다(3위와 4위 요소는 각각 3위와 4위를 받습니다).
- last : 마지막으로 연결된 요소를 가장 낮은 순위에 할당합니다. (3위와 4위 요소는 각각 4위와 3위를 받습니다.)
- min : 연결된 각 항목을 가장 낮은 순위에 할당합니다(3위와 4위 항목은 모두 3위를 받습니다).
- max : 연결된 각 항목에 가장 높은 순위를 할당합니다(3위와 4위 항목 모두 순위 4를 받습니다).
- 무작위 : 동률인 각 요소에 무작위 순위를 할당합니다(3위와 4위로 동률인 요소 중 하나가 순위를 받을 수 있음).
다음 예는 R의 다음 데이터 프레임에서 실제로 각 옵션을 사용하는 방법을 보여줍니다.
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'), dots=c(5, 8, 10, 10, 17)) #view data frame df player points 1 to 5 2 B 8 3 C 10 4 D 10 5 E 17
예 1: Ties.method=”average”와 함께 Rank() 사용
다음 코드는 Ties.method=”average” 인 Rank()를 사용하여 포인트 열의 값에 따라 각 플레이어에게 순위를 할당하는 새 열을 만드는 방법을 보여줍니다.
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = “ average ”) #view updated data frame df player points points_rank 1 to 5 1.0 2 B 8 2.0 3 C 10 3.5 4 D 10 3.5 5 E 17 5.0
C와 D 선수의 점수가 동일하고 3위와 4위를 차지했기 때문에 두 선수 모두 평균 순위인 3.5점을 받았습니다.
예 2: Ties.method=”first”와 함께 Rank() 사용
다음 코드는 Ties.method=”first” 인 Rank()를 사용하여 포인트 열의 값에 따라 각 플레이어에게 순위를 할당하는 새 열을 만드는 방법을 보여줍니다.
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " first ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 3 4 D 10 4 5 E 17 5
C와 D의 점수가 동일하고 3위와 4위를 점유하고 있기 때문에 두 선수 중 첫 번째 선수(C선수)가 가장 낮은 순위를 받았습니다.
예 3: Ties.method=”last”와 함께 Rank() 사용
다음 코드는 Ties.method=”last” 인 Rank()를 사용하여 포인트 열의 값에 따라 각 플레이어에게 순위를 할당하는 새 열을 만드는 방법을 보여줍니다.
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " last ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 4 4 D 10 3 5 E 17 5
C와 D가 같은 점수를 갖고 3위와 4위를 점유했기 때문에 두 사람 중 마지막 선수(D선수)가 가장 낮은 순위를 받았다.
예 4: Ties.method=”min”과 함께 Rank() 사용
다음 코드는 Ties.method=”min” 인 Rank()를 사용하여 포인트 열의 값에 따라 각 플레이어에게 순위를 할당하는 새 열을 만드는 방법을 보여줍니다.
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " min ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 3 4 D 10 3 5 E 17 5
C와 D 선수의 점수가 동일하고 3위와 4위에 있었기 때문에 두 선수 모두 최소 순위인 3위 를 받았습니다.
예 5: Ties.method=”max”와 함께 Rank() 사용
다음 코드는 Ties.method=”max” 인 Rank()를 사용하여 포인트 열의 값에 따라 각 플레이어에게 순위를 할당하는 새 열을 만드는 방법을 보여줍니다.
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " max ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 4 4 D 10 4 5 E 17 5
C와 D의 점수가 동일하고 3위와 4위에 있었기 때문에 두 선수 모두 최대 순위인 4 위를 받았습니다.
예 6: Ties.method=”random”과 함께 Rank() 사용
다음 코드는 Ties.method=”random” 인 Rank()를 사용하여 포인트 열의 값에 따라 각 플레이어에게 순위를 할당하는 새 열을 만드는 방법을 보여줍니다.
#create new column that ranks players based on their points value df$points_rank = rank(df$points, ties. method = " random ") #view updated data frame df player points points_rank 1 to 5 1 2 B 8 2 3 C 10 4 4 D 10 3 5 E 17 5
C와 D의 점수가 동일하고 3위와 4위에 있었기 때문에 각 플레이어는 무작위로 3위나 4위를 배정받았습니다.
Tie.method 에 “random”을 사용하면 코드를 실행할 때마다 각 값에 할당된 순위가 변경될 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 sort(), order() 및 Rank()를 사용하는 방법
R에서 백분위수 순위를 계산하는 방법
dplyr을 사용하여 그룹별로 정렬하는 방법