在qgraph中使用不同的边线类型
问题描述:
我使用qgraph
包来绘制相关网络,其中显示正值和负值。由于日记限制,我需要一个灰度图,因此节点的颜色可以很容易地设置,但是我在边缘方面有困难。我想为正数("solid"
)和负数("dashed"
)之间的相关性设置不同的线型,因此我们不需要节点和边缘的灰色代码。 'qgraph`中的参数lty
只允许一种类型的线条用于整个情节,我怎样才能使它工作?在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)
非常感谢事先!
答
似乎lty需要是合适值的载体。那么我们如何知道哪些边缘应该是虚线以及哪个实体?我将演示一种使用psych包中的数据完成工作的方法。
library(psych)
library(qgraph)
data(bfi)
persvars <- bfi[,1:25]
让我们再创建一个临时图形,并推断得出哪条线路基础上,颜色为虚线:
hackgraph <- qgraph(cor(persvars,use = "pa"), fade = FALSE, layout = "spring", graph = "pcor")
edgecolor <- hackgraph$graphAttributes$Edges$color
unique(hackgraph$graphAttributes$Edges$color)
设置fade = FALSE
上述对比颜色与管理的数字:现在我们知道,积极的边缘是“#009900”或“深绿色”。所以我们需要做的是形成一个新的向量为:
linetype <- ifelse((edgecolor == "#009900" | edgecolor =="darkgreen"), 1, 2)
我们可以根据这些线路类型,然后绘制所需图形:
qgraph(cor(persvars,use = "pa"), layout = "spring", graph = "pcor", lty = linetype)