3

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

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

在此处输入图像描述

如果我尝试在 ggplot 中绘制相同的图,则最佳拟合线的斜率在dose.

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

在此处输入图像描述

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

4

1 回答 1

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))
于 2013-05-30T08:36:40.603 回答