使用igraph进行二部网络工作:基本度量(密度,归一化程度)问题

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

我是双向网络分析的新手,我在基本措施方面遇到了一些麻烦。我正在尝试在二分网络上工作[[没有在1-mode图中投影。我的问题来自以下事实,即igraph包允许创建二部图,但是这些度量似乎无法适应这些图的特殊性。

所以,我的一般性问题是,当您直接在双向网络上工作时该怎么办?

这里是一个具体的密度示例

## Working with an incidence matrix (sample) with 47 columns and 10 rows (unweighted / undirected) # Want to compute basic global index like density with igraph library(igraph) g <- graph.incidence(m, directed = F ) graph.density(g) # result = 0.04636591 # Now trying to compute basic density for a bipartite graph without igraph (number of edges divided by the product of the two types of vertices) library(Matrix) d <- nnzero(m)/ (ncol(m)*nrow(m)) # result 0.1574468 # It seems that bipartite package does the job library(bipartite) networklevel(m, index=c("connectance")) # result 0.1574468

但是

bipartite

软件包非常特定于生态学领域,并且许多措施是针对食物网和物种之间的相互作用而设计的(以及一些(如聚类系数,似乎并未考虑到)图:例如]计算4个周期)。所以,有没有更简单的方法可以使用

igraph

在二分网络上工作?为了测量一些全局指标(密度,具有4个周期的聚类系数,我知道tnet可以做到这一点,但是我的实际网络太大),并考虑到局部指标(如度,亲和力,居中性),将其标准化双向特异性(例如Borgatti SP,Everett MG,1997年,《二模数据的网络分析》,社交网络)?
任何建议将不胜感激!

下面的代码再现我的矩阵“ m”的样本

m <- structure(c(1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0), .Dim = c(10L, 47L), .Dimnames = list( c("02723", "13963", "F3238", "02194", "15051", "04477", "02164", "06283", "04080", "08304"), c("1185241", "170063", "10350868", "217831", "2210247", "2262963", "1816670", "1848354", "2232593", "146214", "1880252", "2261639", "2262581", "2158177", "1850147", "2262912", "146412", "2262957", "1566083", "1841811", "146384", "216281", "2220957", "1846986", "1951567", "1581130", "105343", "1580240", "170654", "1796236", "1835553", "1835848", "146400", "1174872", "1283240", "2253354", "1283617", "146617", "160263", "2263115", "184745", "1809858", "1496747", "10346824", "148730", "2262582", "146268")))

我是双向网络分析的新手,我在基本措施方面遇到了一些麻烦。我正在尝试在二分网络上工作,而无需在1-mode图中进行投影。我的问题来自……
r matrix networking igraph bipartite
1个回答
0
投票
密度:您已经知道了
© www.soinside.com 2019 - 2024. All rights reserved.