2017-02-16 6 views
2

Я работаю с довольно большой сетью в igraph (около 200 000 ребер). Я вычисление версии закрытости центральности (гармоника центральности), следующим образом:Как я могу заставить igraph прекратить сбой с большими графиками?

#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. Я могу работать с самым большим связано (около 7000 ребер) без проблем, но не со всей сетью. Я использую гармоническую центральность (а не встроенную центральную меру igraph), поскольку она более подходит для отключенных графиков.

Я пытаюсь выяснить обходное решение для этого. Один из вариантов состоит в том, чтобы, возможно, разбить сеть на составляющие ее компоненты, а затем запустить мою гармоническую меру центральности. Но после попытки:

decompose.graph(g) 

R сбой снова. Я обычно работаю в R Studio, но я также пробовал это в ванильном, не-GUI R; но с тем же результатом.

Есть ли у кого-нибудь предложения о том, как я могу обойти это?

ответ

0

большие графики занимают много памяти. таким образом, сначала ваша ОС должна быть 64 бит, а если ваша память низкая, возможно, вам нужно использовать виртуальную память и увеличить размер Swapfile.

Смежные вопросы