본문 바로가기
R연습 200제/2. R 데이터 객체

Q_02_06. 벡터 정렬하기와 순위매기기

by R통컨 2025. 5. 2.

<

R에서 벡터를 정렬하려면 sort() 함수를 사용하면 됩니다. 이 함수는 벡터의 요소를 오름차순 또는 내림차순으로 정렬해줍니다.

1. 오름차순 정렬

기본적으로 sort() 함수는 오름차순으로 정렬합니다.

vector <- c(30, 10, 50, 20, 40)
sorted_vector <- sort(vector)
print(sorted_vector)
# 출력: 10 20 30 40 50

2. 내림차순 정렬

내림차순으로 정렬하려면 decreasing = TRUE 옵션을 사용합니다.

sorted_vector_desc <- sort(vector, decreasing = TRUE)
print(sorted_vector_desc)
# 출력: 50 40 30 20 10

3. 결측값을 포함한 정렬

벡터에 결측값(NA)이 포함되어 있을 경우, na.last 옵션을 사용하여 결측값을 마지막에 배치할지 여부를 지정할 수 있습니다.

vector_with_na <- c(30, NA, 50, 20, 40)
sorted_vector_na <- sort(vector_with_na, na.last = TRUE)
print(sorted_vector_na)
# 출력: 20 30 40 50 NA

결측값을 처음에 배치하려면 na.last = FALSE로 설정합니다.

sorted_vector_na_first <- sort(vector_with_na, na.last = FALSE)
print(sorted_vector_na_first)
# 출력: NA 20 30 40 50

4. 순서만 반환하기 (order() 함수)

 

order() 함수를 사용하면 실제 값이 아닌 정렬된 순서의 인덱스를 반환할 수 있습니다.

order_vector <- order(vector)
print(order_vector)
# 출력: 2 4 1 5 3 (정렬 순서에 따른 원래 인덱스)

order() 함수를 이용하면 원본 벡터의 순서대로 데이터를 다시 정렬할 수도 있습니다.

sorted_by_order <- vector[order(vector)]
print(sorted_by_order)
# 출력: 10 20 30 40 50

이와 같은 방법으로 R에서 벡터를 원하는 방식으로 정렬할 수 있습니다.