【发布时间】:2013-06-17 18:02:40
【问题描述】:
以下代码绘制来自混合效应模型的随机效应:
mtcarsSub <- mtcars[,c("wt", "drat", "cyl")]
library(lme4)
mtcarsME <- lmer(drat ~ (1|cyl) + wt, data=mtcarsSub)
mtcarsSub$fixed.effect <- predict(mtcarsME)
library(plyr)
l_ply(list(4, 6, 8), function(x) mtcarsSub[[ paste0("random.effect.cyl", x) ]] <<- mtcarsSub$fixed.effect + ranef(mtcarsME)$cyl[as.character(x),])
library(ggplot2)
ggplot(mtcarsSub, aes(wt, drat, color=factor(cyl))) +
geom_point() +
geom_line(aes(wt, fixed.effect), color="black", size=2) +
geom_line(aes(wt, random.effect.cyl4), size=2) +
geom_line(aes(wt, random.effect.cyl6), size=2) +
geom_line(aes(wt, random.effect.cyl8), size=2)
如何以编程方式使每个随机效果线的颜色与cyl 显示的颜色相同?因此,cyl 的第 4 级随机效果线应为红色,cyl 的第 6 级应为绿色,cyl 的第 8 级应为蓝色。我不想在geom_line() 中指定color="red" 等。
【问题讨论】: