如何在igraph R中创建自环?

3
如何在图形中添加自环,除了更改邻接矩阵之外(更改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)

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


你能否创建一个可重现的例子?你在这里具体指什么?你想为每个现有的顶点创建一个自环吗?你最初是如何创建这个图形的? - MrFlick
像这样简单的代码 library(igraph); test <- graph.data.frame(data.frame(one=1:2,two=2:1)) 是否可以作为进一步探索的基础? - thelatemail
@MrFlick,是的,我想为每个现有的顶点创建一个自环。请查看编辑部分。 - academic.user
1
@academic.user - 您的示例无法重现,因为我们没有您的文件。请参考我的评论,作为一个简单可重现的独立图表示例。 - thelatemail
@thelatemail,这段代码不会给我们带来带有自环的图形。 - academic.user
显示剩余3条评论
1个回答

4

要为karate示例中的每个顶点添加自环,只需执行以下操作:

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

这将会给你带来: enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接