行列またはデータフレームを2番目の行でソートするとします。 私は方法を見つける。特定の行によるソート行列またはデータフレーム
tt<-c(3,2,3,5,3,5,5,4,3,1,5,2,1,5,4,1,3,5,3,3)
ff<-matrix(tt,nrow=5)
gg<-t(ff)
nn<-gg[order(gg[,2],decreasing = T),]
ff<-t(nn)
ff
代替手段または提案はありますか?
行列またはデータフレームを2番目の行でソートするとします。 私は方法を見つける。特定の行によるソート行列またはデータフレーム
tt<-c(3,2,3,5,3,5,5,4,3,1,5,2,1,5,4,1,3,5,3,3)
ff<-matrix(tt,nrow=5)
gg<-t(ff)
nn<-gg[order(gg[,2],decreasing = T),]
ff<-t(nn)
ff
代替手段または提案はありますか?
行列を2番目の行でソートするために行列を転置する必要はありません。列インデックスの2番目の行に基づいて順序を指定することも有効です。
ff[,order(ff[2,], decreasing = T)]
[,1] [,2] [,3] [,4]
[1,] 5 1 3 5
[2,] 5 3 2 2
[3,] 4 5 3 1
[4,] 3 3 5 5
[5,] 1 3 3 4
なぜあなたはdownvotedを得たか分かりません。 OPの予想通りの結果となり、より単純なものになります。 – thelatemail
ありがとうございます。私の間違いは 'ff [order(ff [2、]、decrease = T)] ' – imi
@thelatemailでした。私は質問が非常に正常に見え、対処するための非常に標準的な方法があると思います。しかしそれはまたそれを見落とされた人々かもしれません。列を独立して並べ替えるか、行を並べ替えるか、独立して列を並べ替えるか、行列で並べ替える列で並べ替えるかは、ちょっと混乱します。しかし、data.frameクラスを依然として維持したい場合は、データフレーム内で唯一の操作が列でソートされます。 – Psidom
私が知る限り、 'order'は基底Rでのそのようなアクションのための優先メソッドです。複数の行でソートするのにも使用できます。 "巨大な"(> 1GBのデータセット)で作業している場合、 'data.table'パッケージと' setkey'関数を見てください。 – lmo