【发布时间】:2015-02-05 22:04:41
【问题描述】:
我想把一个矩阵变成一个长的data.frame边缘列表的行到列,如下所示:
set.seed(666)
mat <- matrix(sample(0:1,12,replace=TRUE),nrow=3)
library(bipartite)
as.data.frame(web2edges(mat, return = TRUE))
但我希望行和列的名称出现在 row 和 col 列的输出中,而不是行数。
但是当我尝试这个时,我得到一个重复的行名错误:
set.seed(666)
mat <- matrix(sample(0:1,12,replace=TRUE),nrow=3)
colnames(mat) <- letters[1:4]
rownames(mat) <- letters[5:7]
library(bipartite)
as.data.frame(web2edges(mat, return = TRUE))
data.frame(row = c("1", "3", "3", "1", "2"), col = c("4", "4", ) 中的错误: 重复的row.names:g,e
有没有其他简单的方法可以在不使用web2edges 的情况下实现?
【问题讨论】:
-
也许将
web2edges()结果的rownames设置为NULL,然后转换为data.frame?或者直接做as.data.frame.table(mat)然后subset。 -
我喜欢表格和子集选项,@thelatemail 如果你想回答我很乐意接受。
标签: r networking matrix