Как построить линию тренда в ggplot2 (с примерами)
Вы можете использовать следующий базовый синтаксис, чтобы нарисовать линию тренда на графике в 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 xy 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. Добавьте линейную линию тренда и укажите доверительную область.
Мы можем использовать аргумент level , чтобы указать уровень достоверности, который будет использоваться для заштрихованной доверительной области на графике:
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