2014-04-22 67 views
0

我有一個矩陣描述不同人之間的關係。如果人與人之間有任何聯繫,則在特定單元中有「1」,否則 - 「0」。如何變成一個data.frame這有兩列看起來像:如何融化R中的數據?

PERSON1 - person4

PERSON1 - person6

PERSON2 - PERSON1

+0

[熔體下半部矩陣中R]可能重複(http://stackoverflow.com/questions/8221630/melt-the-lower-half-matrix-在-R) –

回答

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