전체 가이드: r에서 sort(), order() 및 rank()를 사용하는 방법


사람들이 종종 혼동하는 R의 세 가지 기능은 정렬 , 순서 지정순위 지정 입니다.

이러한 기능의 차이점은 다음과 같습니다.

  • sort()는 벡터를 오름차순으로 정렬합니다.
  • order()는 벡터의 각 요소에 대한 인덱스를 정렬된 순서로 반환합니다.
  • Rank() 는 벡터의 각 요소에 순위를 할당합니다(최소 = 1).

다음 예에서는 이러한 각 기능을 실제로 사용하는 방법을 보여줍니다.

예: 벡터에 sort(), order() 및 Rank() 사용

다음 코드는 값이 4개인 벡터와 함께 sort() , order()Rank() 함수를 사용하는 방법을 보여줍니다.

 #createvector
x <- c(0, 20, 10, 15)

#sort vector
sort(s)

[1] 0 10 15 20

#order vector
order(s)

[1] 1 3 4 2

#rank vector
rank(x)

[1] 1 4 2 3

각 함수가 수행한 작업은 다음과 같습니다.

1. sort() 함수는 단순히 벡터 값을 오름차순으로 정렬했습니다.

2. order() 함수는 정렬된 순서로 각 요소의 인덱스를 반환합니다.

  • 이러한 인덱스 값을 기준으로 원본 벡터 값을 순서대로 넣으면 정렬된 벡터를 얻게 됩니다.
  • 예를 들어 order()는 먼저 인덱스 위치 1 에 값을 넣으라고 지시합니다. 원래 벡터에서는 0입니다.
  • 그런 다음 order()는 인덱스 위치 3 에 값을 넣으라고 지시합니다. 원래 벡터에서는 10입니다.
  • 그런 다음 order()는 인덱스 위치 4 에 값을 넣으라고 지시합니다. 원래 벡터에서는 15입니다.
  • 그런 다음 order()는 인덱스 위치 2 에 값을 넣으라고 지시합니다. 원래 벡터에서는 20입니다.
  • 최종 결과는 0, 10, 15, 20으로 정렬된 벡터입니다.

3. Rank() 함수는 가장 작은 값에 1을 사용하여 벡터의 각 요소에 순위를 할당했습니다.

  • 예를 들어, Rank()는 원래 벡터의 첫 번째 값이 가장 작고(순위 = 1) 원래 벡터의 두 번째 값이 가장 크다(순위 = 4)는 것을 알려줍니다.

sort() , order()Rank() 를 역순으로 사용하려면 다음 구문을 사용할 수 있습니다.

 #createvector
x <- c(0, 20, 10, 15)

#sort vector in decreasing order
sort(x, decreasing= TRUE )

[1] 20 15 10 0

#order vector in decreasing order
order(x, decreasing= TRUE )

[1] 2 4 3 1

#rank vector in reverse order (largest value = 1)
rank(-x)

[1] 4 1 3 2

이 결과는 이전 예제에서 생성된 결과와 정반대입니다.

참고: Rank() 함수를 사용하여 동점을 처리하는 방법

Tie.method 인수를 사용하여 Rank() 함수를 사용할 때 동점을 처리하는 방법을 지정할 수 있습니다.

 rank(x, ties. method = ' average ')

다음 옵션 중 하나를 사용하여 링크 처리 방법을 지정할 수 있습니다.

  • average : (기본값) 연결된 각 항목에 평균 순위를 할당합니다(3위와 4위 항목은 모두 3.5 순위를 받습니다).
  • first : 첫 번째로 연결된 요소를 가장 낮은 순위에 할당합니다(3위와 4위 요소는 각각 3위와 4위를 받습니다).
  • min : 연결된 각 항목을 가장 낮은 순위에 할당합니다(3위와 4위 항목은 모두 3위를 받습니다).
  • max : 연결된 각 항목에 가장 높은 순위를 할당합니다(3위와 4위 항목 모두 순위 4를 받습니다).
  • 무작위 : 동률인 각 요소에 무작위 순위를 할당합니다(3위와 4위로 동률인 요소는 두 순위 중 하나를 받을 수 있음).

시나리오에 따라 이러한 방법 중 하나를 사용하는 것이 다른 방법보다 더 적합할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R에서 여러 열을 기준으로 정렬하는 방법
R에서 날짜별로 데이터 프레임을 정렬하는 방법
R에서 백분위수 순위를 계산하는 방법

의견을 추가하다

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