首页 文章

for循环删除igraph中的顶点属性

提问于
浏览
2

我想在igraph中删除多个顶点属性 . 到目前为止,我尝试使用delete_vertex_attr函数进行for循环 . 但是,由于某种原因,它只删除列表中的最后一个属性 . 以下是一个简化示例:

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的新手并且编码一般,非常感谢 . 谢谢

1 回答

  • 3

    您的语句 g2<-delete_vertex_attr(g, i) 始终返回到原始g以删除一个属性 . 您需要继续从新图g2中删除 .

    g2 = g
    for (i in l){
      g2<-delete_vertex_attr(g2, i)
    }
    g2
    

相关问题