sort() は、小さい順に整列させる関数、 order() は、『整列した各要素の元の位置』を返す関数。 データフレームに対して:order ベクトルに対して:sort だと思っておけば、間違えることは少ないはず…… 例)データフレーム d を、列 a について整列させたい。 間違い > d <-data.frame(ID =c("a","b","c","d","e","f"), a =c(1,4,3,6,2,5)) > d ID a 1 a 1 2 b 4 3 c 3 4 d 6 5 e 2 6 f 5 > sort(d$a) [1] 1 2 3 4 5 6 > d[sort(d$a),] ID a 1 a 1 2 b 4 3 c 3 4 d 6 5 e 2 6 f 5 sort が返すのは 1, 2, 3, 4, 5, 6 という値なので、1行目、2行目、3行目、4行目、5行目、6行