попытка использовать ggplot для построения простой линейной регрессии с одной категориальной переменной и получения линии регрессии на графике

#r #ggplot2 #lm

Вопрос:

Я пытаюсь использовать ggplot для построения графиков 3-х линейных моделей:

 model = lm(dep_delay ~ season, data = data)
model2 = lm(dep_delay ~ carrier, data = data)
model3 = lm(dep_delay ~ origin, data = data)
 

Мои данные структурированы следующим образом:

 season origin carrier dep_delay
1 winter    EWR      UA         2
2 winter    LGA      UA         4
3 winter    JFK      AA         2
4 winter    JFK      B6        -1
5 winter    LGA      DL        -6
6 winter    EWR      UA        -4
 

Я пытаюсь использовать эту строку кода:

 ggplot(data, aes(x = season, y = dep_delay))   geom_boxplot()   labs(x="season")   geom_smooth(method = "lm",se=FALSE, col = "blue")
 

это дает мне сюжет, который я хочу, но не ставит линию на сюжет, как мне сделать, чтобы линия появилась?

Ответ №1:

функция geom_smooth() не помещается в строку, если значение x не является числовым. Вы можете перекодировать сезон в число и использовать как.numeric(сезон) при указании aes.