簡體   English   中英

在igraph(R)中添加邊和頂點而不重復

[英]adding edges and vertices without duplication in igraph (R)

試圖創建一個空圖並添加邊和頂點。

library(igraph)
g<-graph(edges =,NULL,n=NULL,directed =FALSE)
g=g+vertices("5","6")
g=g+edge("5","6")

However when I try to do
g=g+vertices("5")

它復制節點“5”。

如何保持節點和頂點是唯一的。 所以g = g +頂點(“5”)不會添加任何東西。

我不認為igraph有一些內置函數,但是你可以輕松創建一個而不是g + vertices(...)

addVertIfNotPresent <- function(g, ...){
  names2add <- setdiff(list(...),V(g)$name)
  v2add <- do.call(vertices,names2add)
  g <- g + v2add
}

用法示例:

library(igraph)

g <- graph(edges=NULL,n=NULL,directed=FALSE)
g = addVertIfNotPresent(g,"5","6")
g = g + edge("5","6")

# "5","6" won't be added and "7" will be added just once
g=addVertIfNotPresent(g,"5","6","7","7") 

plot(g)

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM