2013-10-15 46 views
0

我有一個有115個節點和1098邊緣的有向圖「g」。它是一個超鏈接圖(即節點是網站和邊表示超鏈接的存在)。如何從不等於「x」的所有頂點移除邊緣

我想刪除所有不是來自感興趣的特定節點(id = 7)的頂點的所有出站邊。我正在嘗試創建一個僅代表特定網站的鏈接(即鏈接到哪個網站)的圖表。

我已經嘗試過使用delete.edges函數的各種嘗試,但我對如何實現這一點非常困惑。

我也曾嘗試:

g[1:6,] <- FALSE 

依次爲:

g[8:1098,] <- FALSE 

但是,這也不行。

回答

1

我不確定爲什麼你的代碼不起作用,用數據創建一個可重複的例子會很棒。我懷疑你的圖有頂點名稱,你正在混合頂點名稱和數字頂點ID。無論如何,最簡單的方法可能是:

library(igraph) 
links <- cbind(from=c(2, 3, 7, 7, 7), 
       to=c(10,11,12,13,14)) 
g <- graph.edgelist(links) 

str(g) 
# IGRAPH D--- 14 5 -- 
# + edges: 
# [1] 2->10 3->11 7->12 7->13 7->14 

g[-7,] <- FALSE 

str(g) 
# IGRAPH D--- 14 3 -- 
# + edges: 
# [1] 7->12 7->13 7->14 
+0

謝謝你,加博,這個作品完美! – timothyjgraham

相關問題