0
我想打开一个矩阵变成长长的行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))
Error in data.frame(row = c("1", "3", "3", "1", "2"), col = c("4", "4", : duplicate row.names: g, e
有没有这个可以在不使用web2edges
实现另一种简单的方法?
也许将'web2edges()'结果的rownames设置为NULL,然后转换为data.frame?或者直接执行as.data.frame.table(mat),然后子集。 – thelatemail 2015-02-05 23:37:57
我喜欢表和子集选项,@thelatemail如果你想回答我会高兴地接受。 – user1320502 2015-02-06 14:16:12
[从n×m矩阵转换为R中的长矩阵]的可能重复(http://stackoverflow.com/questions/30367922/convert-from-n-x-m-matrix-to-long-matrix-in-r) – 2017-04-21 14:24:48