在R中使用igraph:将二分图转换为单模式隶属网络

4
以下是我在Rstudio中使用igraph创建的一个玩具数据集,用于描述恐怖分子和他们的目标之间的二分网络。以下规范适用于两种类型顶点之间的有向二分关系:
set.seed(1234)

 df <- data.frame(
     perpetrator <- c(
         'Armed Islamic Group (GIA)',
         'Armed Islamic Group (GIA)',
         'Algerian Islamic Extremists',
         'Islamic Salvation Front (FIS)',
         'Unindentified Activists',
         'Armed Islamic Group (GIA)',
         'Armata di Liberazione Naziunale (ALN)',
         'Armed Islamic Group (GIA)',
         'Islamist Extremists',
         'Muslim Fundamentalists'),
      target <- c(
         'Unnamed Civilians',
         'Unnamed Civilians',
         'Unnamed Civilians',
         'Government Buildings',
         'Police Station',
         'Soldiers',
         'Terrorist Group',
         'Unnamed Civilians',
         'Police Patrol',
         'Police Patrol'),
      stringsAsFactors = TRUE)

net <- graph.edgelist(as.matrix(df))

V(net)$type <- bipartite.mapping(net)$type

proj_net <- bipartite.projection(net)

plot(net, 
 main = "Bipartite Projection of Algerian Terror Network",
 layout=-layout.bipartite(net)[,2:1])

我的问题是:如何将这个二元(双部)关联网络转换为一元(单部)关联网络,其中顶点是恐怖分子作案者,边缘是作案者之间的共同目标?我猜想需要矩阵乘法和绘制邻接矩阵,但是我尝试了论坛中的一些示例脚本后没有成功。我意识到在这个玩具示例中我会有一些孤立节点和少量的对偶,但是一旦我掌握了机制,我希望将这个转换过程扩展到更大的数据集。

其次,对于一元规范,像中心性、密度和传递性这样的描述性度量是否与其他单元图中的相同,或者在双部网络中的描述性干扰是否需要不同的网络结构度量?


你需要这个来创建投影:http://igraph.org/r/doc/bipartite.projection.html - Gabor Csardi
链接应为:http://igraph.org/r/doc/bipartite_projection.html - cengel
2个回答

5

你难道不已经拥有它了吗?

df  <- data.frame(perpetrator=c("A","A","B","C","D","A","E","A","F","G"),
                  target     =c("a","a","a","b","c","d","e","a","f","f"))
net <- graph.edgelist(as.matrix(df))
V(net)$type <- bipartite.mapping(net)$type
par(mfrow=c(1,2),mar=c(0,1,1,1))
plot(net, main="Full Network",edge.arrow.size=0.5)
plot(bipartite.projection(net)$proj1,main="Affilitaton Network")
会返回两个名为$proj1$proj2的图形列表,这些图形具有关联网络。因此在本例中,AB通过a相连,FG通过f相连。

1

针对您的第二个问题:

其次,对于单模型说明,像中心性、密度和传递性等描述性测量是否与其他非二分图中相同,或者双模网络中的描述性干扰需要不同的网络结构测量?

这不是编程问题,而是统计问题。答案的一部分在于您的研究问题。例如,请参阅Bonacich等人1998年的文章,讨论群体大小与中心性测量的相关性。我建议您首先参考以下论文:

Latapy,Matthieu,Clémence Magnien和Nathalie Del Vecchio。“用于分析大型双模网络的基本概念。”社交网络30.1(2008):31-48。

Faust,Katherine。“关联网络中的中心性。”社交网络19.2(1997):157-191。

Bonacich,Phillip,Amalya Oliver和Tom AB Snijders。“在中心性得分中控制大小。”社交网络20.2(1998):135-141。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接