본문 바로가기
9.유용한 함수모음/순서 관련 함수

[R코딩] 한 벡터를 정렬 할 때, 그 순서로 다른 벡터 정렬하기

by makhimh 2020. 12. 22.
반응형

한 벡터를 크기 순으로 정렬할 때, 연관된 다른 벡터도 함께 정렬해야하는 경우 사용하는 방법입니다.

예를들어봅시다. X는 수학점수, Y는 사람이름이라고 합시다. 

 

X=c(62,82,95,51)
Y=c("tim","marry","kate","bob")

 

X를 내림차순으로 정렬할 때, Y도 X를 따라 정렬되게 하고 싶은 상황입니다. 

sort 함수에 index.return 옵션을 TRUE로 설정하면 아래 값이 반홥됩니다.

 

> sx=sort(X,decreasing=TRUE,index.return=TRUE)
> sx
$x
[1] 95 82 62 51

$ix
[1] 3 2 1 4

 

ix는 기존의 index가 정렬 된 후 어느 위치에 오게되었는지를 알려줍니다. 이 index를 이용하여 두 함수를 정렬합시다. 우리가 의도한 대로 정렬되었습니다. 

 

> X[sx$ix]
[1] 95 82 62 51
> Y[sx$ix]
[1] "kate"  "marry" "tim"   "bob"  
반응형

댓글