如何基于来自双模网络的匹配来创建单模网络(邻接矩阵)

问题描述 投票:1回答:1

我正在使用调查数据(行=受访者; col =意见),并尝试在受访者之间创建一种单模邻接矩阵,以测量他们为每个dyad网络给出相同答案的次数。具体来说,

affiliation_matrix <- matrix(c(
  0,1,0,
  1,0,0,
  0,1,1
)
,nrow=3
,ncol=3,
byrow=TRUE)

dimnames(affiliation_matrix) <- list(
  c("Alyssa", "Brad", "Carla"),
  c("opinion1", "opinion2", "opinion3")
)

affiliation_matrix

在上面的3x3矩阵示例中,我想创建一个看起来像矩阵的矩阵

ideal_matrix <- matrix(c(
  1,1,2,
  1,1,0,
  2,0,2
)
,nrow=3
,ncol=3,
byrow=TRUE)

dimnames(ideal_matrix) <- list(
  c("Alyssa", "Brad", "Carla"),
  c("Alyssa", "Brad", "Carla")
)

所以在Alyssa和Carla之间,他们的联系得到了2,因为他们对Opinion1和Opinion2的回答相同。同样,Alyssa和Brad之间的联系也为1,因为他们在意见3中都回答了0。

我正在查找代码get.adjacency()和bipartite.projection,但是这似乎只处理人与事件网络,其中只有1的值被视为匹配项。是否有一个R包可以让我做到这一点,或者我需要手动创建自己的循环(如果可以的话……怎么做?)?

谢谢!

igraph social-networking adjacency-matrix bipartite network-analysis
1个回答
0
投票

可能有一个我不知道的现成的解决方案。但是,在这种特殊的(二进制)情况下,可以重新编码矩阵,将每个矩阵乘以其转置,最后将它们加在一起:

© www.soinside.com 2019 - 2024. All rights reserved.