我正在使用重新思考的包制作残差图,根据地图模型绘制ASD和TD儿童的残差,以反映语言智商。
m3.2 <- map(
alist(
ADOS ~ dnorm(mu, sigma),
mu <- a + bV*VerbalIQ.s,
a ~ dnorm(0, 10),
bV ~ dnorm(0, 1),
sigma ~ dunif(0,10)
),
data = ASDTD
)
为每个孩子计算地图上预期值的残差。通过基于语言智商从预测的每个孩子中减去观察到的每个孩子的ados来做到这一点。
mu <- coef(m3.2)['a'] + coef(m3.2)['bV']*ASDTD$VerbalIQ.s
为每个孩子计算残差
m.resid <- ASDTD$ADOS - mu
m.resid
str(ASDTD)
plot(ADOS ~ VerbalIQ.s, ASDTD, col= rangi2)
abline(m3.2)
循环儿童
for (i in 1:length(m.resid)) {
x <- ASDTD$VerbalIQ.s[i]
y <- ASDTD$ADOS[i]
绘制线段
lines(c(x,x), c(mu[i],y), lwd=0.5, col = col.alpha("black", 0.7))
}
当我运行我的代码时,我得到了我的组残差,ASD和TD,但我无法区分它们: Plot example
如果我在图中更改我的代码,要指定要着色的组,我会丢失另一组的标记(蓝色圆圈)
plot( col = ASDTD$ASD == 1)
像这样:
Second plot
我希望我的情节看起来像第一个,但只是让我的两组颜色彼此不同,所以我可以识别它们。我在这里尝试了不同的解决方案,但它们只包含一个组并且没有为它们着色,正如您在我的第二个图中所看到的那样。
我不知道如何在ggplot中制作这个因为我的地图模型(正如我所说我正在使用我的统计模型的重新思考包),所以我想建议特定于plot(),而不是ggplot。< / p>