ANCOVA在ggplot中的情节

时间:2013-05-30 08:04:58

标签: r ggplot2

以下代码绘制了ANCOVA的结果:

library(HH)
ancova(weight ~ gesttime + dose, data=litter)

enter image description here

如果我尝试在ggplot中制作相同的图,那么最佳拟合线的斜率在dose的不同级别上不均匀。

library(ggplot2)
ggplot(litter, aes(gesttime, weight)) + geom_point() + facet_grid(. ~ dose) + stat_smooth(method="lm")

enter image description here

如何使用ancova()输出相同的图,但使用ggplot?

1 个答案:

答案 0 :(得分:5)

使用ggplot,您需要使用geom_line()绘制模型中的预测值,如下所示,以产生您想要的效果。

让你的模特适合:

data(litter)
mod <- ancova(weight ~ gesttime + dose, data=litter)
pred <- predict(mod)

绘制它:

ggplot(data = cbind(litter, pred),
    aes(gesttime, weight, color=dose)) + geom_point() +
    facet_grid(. ~ dose) + geom_line(aes(y=pred))