У меня проблема с принудительным началом полиномиальной регрессии при первом наблюдении по оси x. Это должно быть динамично, потому что я делаю граненые сюжеты.
Воспроизводимый пример: я хочу, чтобы линия начиналась с отмеченных синим точек на графике, созданном этим фрагментом:
library(tidyverse)
df <- mtcars %>%
group_by(am) %>%
mutate(first_point = if_else(hp == min(hp), 1, 0))
ggplot(df, aes(hp, qsec,
color = as.factor(first_point),
size = as.factor(first_point))) +
geom_point() +
geom_smooth(method = "lm",
se = F,
formula = y ~ poly(x, 3)) +
facet_wrap(~ am)
По сути, я хочу (что не работает) эту формулу в geom_smooth:
formula = qsec ~ min(hp) + poly(hp, 3)
Надеюсь, кто-нибудь знает трюк:)