0
我有類似於這兩個鄰接矩陣數據:的R - 構建鄰接矩陣基於其它鄰接矩陣
data1999 <- data.frame(node1=c("A", "A", "B", "D", "B", "C", "D"),
node2=c("A", "A", "D", "B", "B", "C", "D"),
link=c(1, 1, 1, 1, 1, 1, 1),
stringsAsFactors = FALSE)
adj.m1999 <- reshape2::acast(data1999, node1 ~ node2)
> adj.m1999
A B C D
A 2 0 0 0
B 0 1 0 1
C 0 0 1 0
D 0 1 0 1
data2000 <- data.frame(node1=c("A", "A", "B", "C", "D", "C", "D"),
node2=c("A", "A", "B", "C", "D", "D", "C"),
link=c(1, 1, 1, 1, 1, 1, 1),
stringsAsFactors = FALSE)
adj.m2000 <- reshape2::acast(data2000, node1 ~ node2)
> adj.m2000
A B C D
A 2 0 0 0
B 0 1 0 0
C 0 0 1 1
D 0 0 1 1
。注意,在1999年,節點d和B有一個鏈接。
請注意,在2000年,節點D和C有一個鏈接。
基於此信息,我想建立一個新的鄰接矩陣(與我在2000年數據的所有節點),其中BD和DB具有值1,而其餘具有零:
> result
A B C D
A 0 0 0 0
B 0 0 1 0
C 0 1 0 0
D 0 0 0 0
在我的現實生活中,數據1999可以有額外的節點,在2000年不會返回,反之亦然。
任何想法?
@lmo謝謝。我應該馬上添加它。 –
難道你不是故意說1999年的矩陣B和D有鏈接嗎? – Lamia
@Lamia哎呀。確實。這裏遲到了。我糾正了錯誤。謝謝!! –