求助,现在有一个数据框:
- A B C D E F G
- A 1 -0.060716224 0.012778079 -0.133301682 0.454164406 -0.150094954 0.360689094
- B -0.060716224 1 0.523955507 0.68814433 -0.38178242 0.603160608 0.315056972
- C 0.012778079 0.523955507 1 0.334413999 -0.48175529 0.486502984 0.106673901
- D -0.133301682 0.68814433 0.334413999 1 -0.314975583 0.711326641 0.360784048
- E 0.454164406 -0.38178242 -0.48175529 -0.314975583 1 -0.38562127 0.099986435
- F -0.150094954 0.603160608 0.486502984 0.711326641 -0.38562127 1 0.246758003
- G 0.360689094 0.315056972 0.106673901 0.360784048 0.099986435 0.246758003 1
复制代码想要按行列逐个展开为一个新的3列数据框,第一列为对应行名,第二列为对应列名,第三列为数值:
- From To Value
- A A 1
- A B -0.06072
- A C 0.012778
- ......
复制代码使用reshape2的melt函数展开后只能得到Value值的单列
- frame11 <- melt(data = as.numeric(as.matrix(M)),id.vars = c(row.names(M),colnames(M)))
复制代码求问如果想获得像上图那种三列数据框该怎么做?求指点