/ / R - r、sorting、matrixで大きな行列をソートする

R - rで大行列をソートする、ソートする、行列

私は非常に大きな正方行列を持っています。 行列からいくつかの「最上位」(最小または最大)の値を取得する効果的な方法を見つけたいと思いますが、行/列は保持しています。より小さな行列では、私は以下を行うことができます:

m <- matrix(rnorm(100), ncol=10, nrow=10)
m <- cbind(as.vector(m), as.vector(col(m)), as.vector(row(m)))
head(m[ order(m[,1]), ])

しかし、行列が非常に大きい場合、これは実用的ではありません。より良い、より効率的な方法がありますか?

回答:

回答№1は1

あなたは行列を使ってデータフレームを作成し、それからあなたの好みとして注文する必要があります。

そして、最良の方法は、マトリックスの順序を見てはいけませんが、データフレームを作成して注文する最良の方法は何ですか。

パッケージの使用 data.table 高速かつメモリ効率の良い方法でデータフレームを作成することができます。

m <- data.table(as.vector(m), as.vector(col(m)), as.vector(row(m)))

その後、データを注文します

m <- m[ order(m[,1]), ]