ggplot中的ANCOVA图

luc*_*ano 3 r ggplot2

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

library(HH)
ancova(weight ~ gesttime + dose, data=litter)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如果我尝试在ggplot中绘制相同的图,则最适合的线的斜率在的不同水平上不是均匀的dose

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

在此处输入图片说明

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

pic*_*ick 5

使用ggplot时,您需要使用geom_line()绘制模型中的预测值,以生成所需的内容。

使您的模型适合:

data(litter)
mod <- ancova(weight ~ gesttime + dose, data=litter)
pred <- predict(mod)
Run Code Online (Sandbox Code Playgroud)

绘制:

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