Я хочу удалить несколько атрибутов вершин в igraph. Пока что я пробовал цикл for с функцией delete_vertex_attr. однако по какой-то причине он удаляет только последний атрибут в моем списке. Ниже приведен упрощенный пример:
g <- erdos.renyi.game(10,.3)
g <- set_vertex_attr(g,"a", index = V(g), 1)
g <- set_vertex_attr(g,"b", index = V(g), 1)
g <- set_vertex_attr(g,"c", index = V(g), 1)
g
l<- c("a", "b", "c")
for (i in l){
g2<-delete_vertex_attr(g, i)
}
g2
Я новичок в R и кодировании в целом и очень помог бы. Спасибо
Ваш оператор g2<-delete_vertex_attr(g, i)
всегда возвращается к исходному g, чтобы удалить один атрибут. Вам нужно продолжить удаление из нового графика g2.
g2 = g
for (i in l){
g2<-delete_vertex_attr(g2, i)
}
g2
Кажется, это тоже работает:
g2 = g; vertex_attr(g2)[l] <- NULL
... не уверен, что это правильный путь.