2017-03-09 5 views
0

単純な行列があり、行列のすべての値に対して行と列の組み合わせを作成したいと考えています。行列を2次元データフレームに変換する

mat <- matrix(c(2, 4, 3, 1, 5, 7), nrow=3, ncol=2) 
colnames(mat) <- c("col1","col2") 
rownames(mat) <- c("row1","row2","row3") 

所望の出力:

cols rows value 
col1 row1 2 
col1 row2 4 
col1 row3 3 
col2 row1 1 
col2 row2 5 
col2 row3 7 

そのための任意のシンプルかつ高速な解決策はあります。あなたのアドバイスに感謝します。

+0

http://stackoverflow.com/questions/2185252/reshaping-data-frame-from-wide-to-long-format – jogo

答えて

1

reshape2パッケージのmeltを使用します。

library(reshape2) 
mat <- matrix(c(2, 4, 3, 1, 5, 7), nrow=3, ncol=2) 
colnames(mat) <- c("col1","col2") 
rownames(mat) <- c("row1","row2","row3") 
melt(mat) 
+0

おかげで多くは、:-)トリックを行いメルト – martinkabe

関連する問題