0

我有一个描述不同人之间关系的矩阵。如果人与人之间有任何联系,我在特定单元格中有“1”,否则 - “0”。如何将其转换为具有两列的 data.frame 如下所示:

人 1 -- 人 4

人 1 -- 人 6

人2——人1

?

4

1 回答 1

1

使用melt来自reshape2

library(reshape2)
set.seed(1)
mx <- matrix(sample(0:1, 9, r=T), nrow=3, dimnames=replicate(2, paste0("p", 1:3), s=F))
#    p1 p2 p3
# p1  0  1  1
# p2  0  0  1
# p3  1  1  1

melt(mx)
#   Var1 Var2 value
# 1   p1   p1     0
# 2   p2   p1     0
# 3   p3   p1     1
# 4   p1   p2     1
# 5   p2   p2     0
# 6   p3   p2     1
# 7   p1   p3     1
# 8   p2   p3     1
# 9   p3   p3     1
于 2014-04-22T20:07:35.497 回答