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을 사용하여 그룹별로 정렬하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다