Вы можете использовать следующий базовый синтаксис для рисования линии тренда на графике в ggplot2:
ggplot(df, aes(x=xvar, y=yvar)) +
geom_point() +
geom_smooth(method=lm) #add linear trend line
В следующих примерах показано, как использовать этот синтаксис на практике со следующим фреймом данных:
#create data frame
df <- data.frame(x=c(1, 2, 3, 3, 5, 7, 9),
y=c(8, 14, 18, 25, 29, 33, 25))
#view data frame
df
x y
1 1 8
2 2 14
3 3 18
4 3 25
5 5 29
6 7 33
7 9 25
Пример 1. Добавление линии линейного тренда
Следующий код показывает, как добавить линейную линию тренда к диаграмме рассеяния в ggplot2:
library (ggplot2)
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_smooth(method=lm) #add linear trend line

Пример 2. Добавление линии линейного тренда и указание доверительной области
Мы можем использовать аргумент уровня , чтобы указать уровень достоверности, который следует использовать для заштрихованной области достоверности на графике:
library (ggplot2)
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_smooth(method=lm, level= 0.99 )

Обратите внимание, что уровень достоверности по умолчанию равен 0,95. Указав уровень достоверности 0,99, наша заштрихованная область достоверности на графике стала еще шире.
Пример 3. Добавление линии линейного тренда и недостоверной области
Мы можем использовать аргумент se=FALSE , чтобы скрыть заштрихованную доверительную область вокруг линии тренда:
library (ggplot2)
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_smooth(method=lm, se= FALSE , col='red', size= 2 )

Пример 4. Добавление изогнутой линии тренда
Если мы не укажем метод для geom_smooth() , по умолчанию будет использоваться изогнутая лессовая линия:
library (ggplot2)
ggplot(df, aes(x=x, y=y)) +
geom_point() +
geom_smooth()

Полную онлайн-документацию по функции geom_smooth() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие часто используемые операции в ggplot2:
Как настроить толщину линии в ggplot2
Как установить пределы оси в ggplot2
Как удалить линии сетки в ggplot2
Как изменить цвет фона в ggplot2