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()ですか?

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 に答える