2017-11-16 18 views
0

これは本当に基本的だと思いますが、この質問に対する答えは見つからないようです。私たちはネットワーク分析グラフを構築しており、属性に基づいて各ノードを色づけしたいと考えています。我々は2つの色を行うことができますが、それ以上のことをする必要があります。 iGraphは使用していませんが、ほとんどの検索でこの例が得られます。R - 同じネットワークグラフ上のノードに複数の色を割り当てる

#### Nodes Attributes #################################################### 

nodeColors<-ifelse(nodeInfo$Section=="1","hotpink","dodgerblue") 
#nodeColors<-(nodeInfo$Section) 
## We can easily give two colors but we need four colors. 
########################################################################## 
########################################################################## 
#### Visualisation #################################################### 

gplot(relations,gmode="graph",displaylabels=TRUE,vertex.col=nodeColors, mode = 
"fruchtermanreingold") 

私たちがやりたいことは、このようなものである:ここではさまざまなグループや色の我々のコードを見ている

たちはオリエンテーションのグループに基づいて割り当てられた4つの異なるグループがあります。 nodeColors <を - nodeInfo $ Orientation == "1 2 3 4"、 "red"、 "blue"、 "yellow"、 "green")

思考?私たちは何を間違っていますか?

答えて

0

何が間違っていますか?

あなたが実際に行ったことの再現性のある(例:コピー貼り付け可能な)例は表示されていないため、誰も言えません。

しかし、私はdplyrさんcase_whenはあなたの人生を容易にすることを推測する:

(x <- c(1:4, 1)) 
# [1] 1 2 3 4 1 
dplyr::case_when(
    x==1~"red", 
    x==2~"orange", 
    x==3~"blue", 
    TRUE~"lightgray" 
) 
# [1] "red"  "orange" "blue"  "lightgray" "red" 

あなたは事前にinstall.packages("dplyr")が必要な場合があります。 xnodeInfo$Orientationです。変数nodeColorscase_whenの結果を<-を使用して割り当てることができます。その機能の詳細については、?dplyr::case_whenを参照してください。

関連する問題