如何在 igraph R 中创建自循环?

How to create self loop in igraph R?

如何在改变 Adjacency matrix 的同时将 self loop 添加到图表中,而 Adjacency matrix 正在改变 c(i,i)=1,在 igraph R 中是否有执行此操作的函数包裹?

编辑:图形创建:

  network=read.csv(file.choose())
  network[,1]=as.character(network[,1]) 
  network[,2]=as.character(network[,2])
  mygraph=graph.data.frame(network,directed=TRUE)
  E(mygraph)$weight=as.numeric(network[,3]) 

可重现 示例:

karate <- graph.famous("Zachary")
E(karate)$weight <- 2
adjacency<-get.adjacency(karate, 
              attr="weight", edges=FALSE, names=TRUE)
for (i in 1:vcount(karate)){
      adjacency[i,i]<-1
    }
karate2<-graph.adjacency(adjacency, mode="directed", weighted=TRUE)

我正在寻找一个更快更简单的解决方案,也许是一个可以做到这一点的功能。

要为karate示例中的每个顶点添加一个自循环,只需执行

karate[from=V(karate), to=V(karate)] <- 1

这会给你