2012-05-01 2 views
5

음, R의 기본 기능 중 일부를 알기로 결정한 후 sort.list() 기능을 발견했습니다. 나는 꽤 똑 바른 sort() 기능을 얻는다. 그러나 sort.list()의 생각을 얻지 마라. 나는 내 벡터의 내용을 (어떤 식 으로든) 재정렬하는 순열 함수 여야한다는 것을 읽었다.R의 sort()와 sort.list()의 차이점은 무엇입니까?

벡터를 갖는 것;

x <- c(5.0, 3.0, 2.0, 2.2, 0.0, 5.0, 3.0, 2.0, 2.2) 

실행 sort.list(x) 출력

[1] 5 3 8 4 9 2 7 1 6 

그 어디에서 왔는가? 누군가 제게 힌트를주세요. 그리고 어차피이 순열의 사용은 무엇입니까?

감사합니다. 이 ?sort.list에서 말했듯

답변

7

sort.list는 그 인자로 하나의 벡터 원을 받아 ... 통해 order 동일 만이 아닌 여러 인자를 받고있다.

아마도 "order"의 "더 빠른"또는 "더 간단한"버전이 될 수 있습니다.

무슨 이점이 있습니까? 이것을 고려하십시오 : 그것은 색인을 사용하는 경우 원래 벡터를 정렬하는 순열을 반환

x <- c(5.0, 3.0, 2.0, 2.2, 0.0, 5.0, 3.0, 2.0, 2.2) 
> x[sort.list(x)] 
[1] 0.0 2.0 2.0 2.2 2.2 3.0 3.0 5.0 5.0 
> x[order(x)] 
[1] 0.0 2.0 2.0 2.2 2.2 3.0 3.0 5.0 5.0 

그냥 order처럼.

그러나 나는 또한 이름이 혼란 스럽다고 생각합니다.

+0

감사합니다. 나는 읽었다. sort.list. 그러나 그것의 생각을 파악하지 못했다. 이제 이해가된다. sort.list()의 반환 값과 정렬 된 값의 위치의 (명백한) 관계를 잡아 내지 않았던 것 같아요 ... – Alex

+0

@Alex @ rank 나는'rank'를 찾아야하는 데 꽤 많은 시간이 걸렸습니다. ,'order','sort'를 사용하기 전에 각각의 일을 머리 속에서 바로 잡을 수 있습니다. – joran

관련 문제