sort()関数
sort()
関数で引数にベクトルを指定して、その要素をソートできる。デフォルトで昇順、decreasing
属性で降順にもできる。
1 2 3 4 5 |
> x <- c(5, 1, 4, 2, 3) > sort(x) [1] 1 2 3 4 5 > sort(x, decreasing=TRUE) [1] 5 4 3 2 1 |
partial
属性は、指定した位置の要素より小さい要素をその要素より前に、大きい要素を後ろに移動させる(完全なソートはしない)。
以下の例では、3番目の要素(5)より小さな要素を前へ、大きな要素を後ろへ移動させている。5の前の要素の列、後ろの列は、それぞれ必ずしもソートされない。
1 2 3 |
> x <- c(3, 7, 5, 4, 2, 1, 6) > sort(x, partial=3) [1] 2 1 3 4 5 7 6 |
partial属性をベクトルで与えた場合、複数の位置の要素の前後に各要素が集められる。以下の例では、5番目の要素(5)と10番目の要素(11)が基準となり、5より小さい要素群、5と11の間の要素群、11より大きい要素群に分けられるが、それぞれは必ずしもソートされない。
1 2 3 |
> x <- c(9,3,8,4,5,15,2,7,10,11,6,14,13,1,12) > sort(x, partial=c(5, 10)) [1] 1 3 2 4 5 6 8 7 9 10 11 14 13 15 12 |
ちなみにこの指定の仕方で、基準となる要素の大小関係が逆転していると、よくわからない結果になる。
1 2 3 |
> x <- c(9,3,8,4,5,15,2,7,10,11,6,14,13,1,12) > sort(x, partial=c(1, 11)) [1] 1 3 8 4 5 6 2 7 9 10 11 14 13 12 15 |
rank()関数
ベクトルの要素を昇順でソートしたときの順序を要素とするベクトルを返す。
1 2 3 |
> x <- c(8, 6, 10, 2, 4) > rank(x) [1] 4 3 5 1 2 |