【发布时间】:2017-08-25 16:54:03
【问题描述】:
我的数据看起来类似于这两个邻接矩阵:
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 年数据的所有节点),其中 B-D 和 D-B 的值为 1,其余的值为 0:
> 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 哎呀。确实。这里已经很晚了。我纠正了错误。谢谢!!
标签: r networking social-networking igraph statnet