我正在使用 igraph 中的一个相当大的网络(大约 200,000 个边)。我正在计算接近中心性(调和中心性)的一个版本,如下所示:
#Create igraph network object:
g <- graph.edgelist(as.matrix(d), directed = FALSE)
g <- simplify(g)
#Normalized harmonic centrality:
h <- 1/(shortest.paths(g))
h[!is.finite(h)] <- 0
h <- (colSums(h)/gorder(h))
但是,这会使 R 崩溃。事实上,应用于整个网络的任何网络测量都会使 R 崩溃。我可以毫无问题地处理最大的连接组件(大约 7,000 个边),但不能处理整个网络。我正在使用调和中心性(而不是 igraph 的内置中心性度量),因为它更适合断开连接的图形。
我正在尝试找出解决方法。一种选择可能是将网络拆分为其组成部分,然后运行我的谐波中心性度量。但是在尝试之后:
decompose.graph(g)
R 再次崩溃。我通常在 R Studio 中工作,但我也在普通的非 GUI R 中尝试过这个;但结果相同。
有没有人对我如何解决这个问题有任何建议?
最佳答案
大图占用内存大。因此,首先你的操作系统必须是 64 位的,如果你的内存不足,也许你需要使用虚拟内存并增加交换文件的大小。
关于r - 我怎样才能让 igraph 停止与大图崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42278785/