2016-04-22 14 views
0

qgraphパッケージを使用して、正の値と負の値の両方を示す相関関係のネットワークをプロットします。ジャーナルの制約のためにグレースケールのプロットが必要なので、ノードの色を簡単に設定できますが、エッジには問題があります。私は、正("solid")と負("dashed")の相関に異なる線種を設定したいので、ノードとエッジにグレイコードは必要ありません。 'qgraph`onlyの引数ltyは、プロット全体に対して1種類の行を許可していますが、どのように動かすことができますか?ここでqgraphで異なるエッジラインタイプを使用

は暫定ソリューションは、多くの事前

qgraph(polys$rho, groups = structure_hscl, 
     color= c("white","gray","gray25"), 
     borders=TRUE, trans=FALSE, details=TRUE, 
     bonf=TRUE, alpha=.05, 
     normalize =TRUE, vsize=3, 
     threshold= .2, labels=labels_hscl, 
     layout="spring", graph="pcor", 
     lty = c("solid","dashed") # this obviously doesn't work) 

感謝です!

答えて

0

ltyは、ベクトルの適切な値である必要があります。だからどの辺を破線で、どの辺をどのようにしなければならないのか、私は、精神的なパッケージからのbfiのデータを使用して仕事を達成するための1つの方法を実証します。

library(psych) 
library(qgraph) 
data(bfi) 

persvars <- bfi[,1:25] 

さんはその後、一時的なグラフを作成して、色をもとに、破線として描くためにどのラインを推測してみましょう:

上記 fade = FALSEを設定
hackgraph <- qgraph(cor(persvars,use = "pa"), fade = FALSE, layout = "spring", graph = "pcor") 

edgecolor <- hackgraph$graphAttributes$Edges$color 
unique(hackgraph$graphAttributes$Edges$color) 

は、管理可能な数に色を削減:今、私たちはそのポジティブエッジを知っています「#009900」または「darkgreen」のいずれかの色です。だから我々が行う必要があるすべては、新しいベクトルを形成することである。

linetype <- ifelse((edgecolor == "#009900" | edgecolor =="darkgreen"), 1, 2) 

我々は、これらの回線種別に基づいて、所望のグラフを描くことができます:

qgraph(cor(persvars,use = "pa"), layout = "spring", graph = "pcor", lty = linetype) 

Graph with negative edges as dashed lines

関連する問題