2013-04-07 4 views
14

igraphグラフのエッジ特性(ラベルなど)をサブセット化しようとしています。私は臆面もなく少し修正して別のポストから盗まれている再現性の例では、私は家族の絆(FAM)からの親友の絆(BF)を分離できるようにしたいと思います:サブセットigraphグラフbyラベル

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

方法について:IGRAPH /ネットワーク解析チュートリアル/恥知らずプラグ用

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) 

提案これまでタイの一種を有するエッジを表示されません10

16

エッジと頂点の選択方法については、?V?Eとお読みください。あなたの質問に対するコンパクトで読みやすい解決策は、

です。これにより、指定されたラベルのインシデントエッジがない場合でも、頂点も削除されます。詳細については、?subgraph.edgesを参照してください。

+0

ありがとうございます!私はサブグラフコマンドについて知らなかった。 –