#r #ggplot2 #methods #glm
Вопрос:
Я пытаюсь подогнать линию glm с помощью geom_smooth, но подгонка кажется неправильной. Я получаю очень прямую линию. Я ожидал бы небольшой кривой к линии подгонки, так как я использую «обобщенную линейную модель», а не линейную.
Вот как выглядит моя структура данных:
$ treatment : int -20 -20 -40 -60 -60 -60 0 -100 -100 -40 ...
$ response : int 267 253 254 253 257 242 250 274 295 255 ...
$ early_late : Factor w/ 2 levels "early","late": 2 2 2 2 2 2 2 2 2 2 ...
И мой код:
ggplot()
geom_point(data = data, mapping = aes(x= treatment, y= response, color=early_late, fill = early_late), shape = 21, size = 2.5, alpha = 0.15)
scale_y_continuous(breaks=seq(120,320, 40), limits=c(120, 320))
labs(x= "treatment",
y = "response (count)")
geom_smooth(data = data, mapping = aes(x= treatment, y= response, color = early_late), method = "glm", method.args = list(family= poisson), formula = y ~ x, se = T)
Любые идеи по этому поводу будут очень оценены!
Комментарии:
1. Пожалуйста, поделитесь своими данными с помощью
dput()
.2. glm линейны, попробуйте лесс или gam для нелинейной подгонки