Мне нужно смоделировать влияние удаления узлов из сети в igraph в R на основе различных атрибутов узлов.Ниже я создал функцию, которая создает матрицу, основанную на узлах и их соответствующей центральности между ними, упорядочивает это и затем должна циклически проходить через каждый узел в матрице, удалять узел и вычислять размер наибольшего подключенного компонента, распечатывая этот вывод для анализа.,
testbet<- function(g){
n<-length(V(g))
mat<- matrix(ncol=2,nrow=n, 0) #betweenness attack
mat[,1]<-1:n
bet<-betweenness(g)
mat[,2]<-bet
matri<-mat[order(mat[,2]),]
g2<-g
for(i in 1:n){
v=n+1-i
g2<-delete.vertices(g2, matri[v,1])
maxcsize2<-max(clusters(g2)$csize)
print(maxcsize2)
}
}
Когда он запускается, он начинает печатать вывод до определенной точки, а затем я получаю сообщение об ошибке:
Error in .Call("R_igraph_delete_vertices", graph, as.igraph.vs(graph, :
At iterators.c:759 : Cannot create iterator, invalid vertex id, Invalid vertex id
Called from: .Call("R_igraph_delete_vertices", graph, as.igraph.vs(graph,
v) - 1, PACKAGE = "igraph")
Любая помощь по этому вопросу будет принята с благодарностью, поскольку я 'Я очень застрял.