将矩阵转换为r中的2d数据帧

问题描述:

我有简单的矩阵,我想为矩阵中的所有值创建行和列组合。将矩阵转换为r中的2d数据帧

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://*.com/questions/2185252/reshaping-data-frame-from-wide-to-long-format – jogo

使用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