将具有暗名的矩阵转换为长格式data.frame [英] Convert a matrix with dimnames into a long format data.frame
本文介绍了将具有暗名的矩阵转换为长格式data.frame的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
希望这里有一个简单的答案,但我在任何地方都找不到.
Hoping there's a simple answer here but I can't find it anywhere.
我有一个包含行名和列名的数字矩阵:
I have a numeric matrix with row names and column names:
# 1 2 3 4
# a 6 7 8 9
# b 8 7 5 7
# c 8 5 4 1
# d 1 6 3 2
我想将矩阵融化为长格式,将值放在一列中,并将矩阵行和列名分别在一列中.结果可能是这样的 data.table
或 data.frame
:
I want to melt the matrix to a long format, with the values in one column and matrix row and column names in one column each. The result could be a data.table
or data.frame
like this:
# col row value
# 1 a 6
# 1 b 8
# 1 c 8
# 1 d 1
# 2 a 7
# 2 c 5
# 2 d 6
...
任何提示都值得赞赏.
推荐答案
使用reshape2中的融化
:
Use melt
from reshape2:
library(reshape2)
#Fake data
x <- matrix(1:12, ncol = 3)
colnames(x) <- letters[1:3]
rownames(x) <- 1:4
x.m <- melt(x)
x.m
Var1 Var2 value
1 1 a 1
2 2 a 2
3 3 a 3
4 4 a 4
...
这篇关于将具有暗名的矩阵转换为长格式data.frame的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文