【发布时间】:2020-12-07 16:47:06
【问题描述】:
使用 igraph 对象我想捕获每个节点的邻居的一些特征,例如其邻居的平均度数。
我想出了这段代码,它不优雅而且很慢。 对于大型复杂的网络,我应该如何重新考虑它?
library(igraph)
# Toy example
set.seed(123)
g <- erdos.renyi.game(10,0.2)
# Loop to calculate average degree of each node's neighbourhood
s <- character(0)
for(i in 1:gorder(g)){
n <- ego_size(g, nodes = i, order = 1, mindist = 1)
node_of_interest <- unique(unlist(ego(g, nodes = i, order = 1, mindist = 1)))
m <- mean(degree(g, v = node_of_interest, loops = TRUE, normalized = FALSE)-1)
s <- rbind(s,data.frame(node = i, neighbours = n, mean = m))
}
【问题讨论】:
标签: r for-loop igraph neighbours