2012-05-01 9 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の「より速い」または「より単純な」バージョンとして意図することができます。

いいですか?それがインデックスに使用された場合、元のベクトルがそれをソートすることを順列を返すだけ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 

:これを考えてみましょう。

しかし、私も名前が混乱していると思います。

+0

ありがとうございます!私は?sort.listを読んだが、それの考えを理解することに失敗した。わかった。私がsort.list()の返り値とソートされた順序での値の位置との(明白な)関係をキャッチしていなかったと思います... – Alex

+0

@Alex @ランク、 'order'と' sort'を使って、それぞれのことを頭の中でまっすぐに保つことができました。 – joran

関連する問題