2013-04-07 49 views
14

我想通過邊緣特徵(如其標籤)來劃分igraph子集。在重複的例子,我已經無恥地從另一篇文章中有一點點修改被盜,我想能夠獨立於家庭關係最好的朋友關係(BF)(FAM):按標籤劃分的igraph圖形

edges <- matrix(c(103, 86, 24, 103, 103, 2, 92, 103, 87, 103, 103, 101, 103, 44), ncol=2, byrow=T) 
g <- graph(as.vector(t(edges))) 
E(g)[c(2:4,7)]$label<-"FAM" 
E(g)[c(1,5,6)]$label<-"BF" 

盡我所能做迄今顯示其具有一種類型的領帶的邊緣:

E(g)[E(g)$label=="BF"] 
V(g)[E(g)$label=="BF"] 

回答

18

怎麼樣:

gfam <- subgraph.edges(graph=g, eids=which(E(g)$label=="FAM"), delete.vertices = TRUE) 
gbf <- subgraph.edges(graph=g, eids=which(E(g)$label=="BF"), delete.vertices = TRUE) 

建議爲的igraph /網絡分析教程/無恥插頭:http://sna.stanford.edu/rlabs.php

16

我建議你閱讀?V?E以瞭解如何選擇邊和頂點。相當緊湊,可讀的解決你的問題是

subgraph.edges(g, E(g)[label=="FAM"]) 
subgraph.edges(g, E(g)[label=="BF"]) 

這消除了頂點爲好,如果他們沒有指定標籤的事件邊緣。詳情請參閱?subgraph.edges

+0

謝謝!我不知道子圖命令。 – 2013-04-09 03:17:36