2017-12-18 11 views
1

私は、頂点のセットといくつかの "特別な"頂点の名前を持つリストを持つグラフgを持っています。 グラフに、これらの特殊な頂点に対してのみ頂点名のラベルを表示したい。R igraph:条件によるラベル頂点

私はこのような何か試してみました:

plot(g, vertex.size = 4, vertex.label = ifelse(V(g) %in% usernames, V(g)$label, ""), asp = F) 

しかし、述語がTRUE入ることはありませんので、どうやら私は、何かが欠けています。あなたの助けが理解されるであろう

Error in ans[test & ok] <- rep(yes, length.out = length(ans))[test & ok] : replacement has length zero

: はまた、次のエラーでV(G)$ラベルの結果のように思えます! :)

+0

ようこそ。緩やかなコードスニペットと再現不可能なエラーメッセージの代わりに、最小限の再現可能な例を提供することがベストプラクティスです。 – lukeA

答えて

0

V(g)V(g)$labelに変更しますか?

set.seed(1) 
library(igraph) 
g <- ba.game(26) 
V(g)$label <- letters[1:26] 
usernames <- sample(letters, 5) 
plot(g, vertex.label = ifelse(V(g)$label %in% usernames, V(g)$label, NA)) 

または

set.seed(1) 
library(igraph) 
g <- ba.game(26) 
usernames <- sample(vcount(g), 5) 
plot(g, vertex.label = ifelse(V(g) %in% usernames, V(g), NA)) 

関連する問題