将矩阵转换为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
是否有任何简单快速的解决方案。非常感谢您的任何建议。
答
使用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
http://stackoverflow.com/questions/2185252/reshaping-data-frame-from-wide-to-long-format – jogo