Как построить линию наилучшего соответствия в R (с примерами)

Как построить линию наилучшего соответствия в R (с примерами)

Вы можете использовать один из следующих методов для построения линии наилучшего соответствия в R:

Метод 1: График наилучшего соответствия в базе R

#create scatter plot of x vs. y
plot(x, y)

#add line of best fit to scatter plot
abline(lm(y ~ x))

Метод 2: График наилучшего соответствия в ggplot2

library (ggplot2)

#create scatter plot with line of best fit
ggplot(df, aes (x=x, y=y)) +
 geom_point() +
 geom_smooth(method=lm, se= FALSE )

В следующих примерах показано, как использовать каждый метод на практике.

Пример 1: График наилучшего соответствия по основанию R

В следующем коде показано, как построить линию наилучшего соответствия для простой модели линейной регрессии с использованием базы R:

#define data
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 6, 7, 9, 12, 16, 19)

#create scatter plot of x vs. y
plot(x, y)

#add line of best fit to scatter plot
abline(lm(y ~ x)) 

Не стесняйтесь изменять стиль точек и линии:

#define data
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 6, 7, 9, 12, 16, 19)

#create scatter plot of x vs. y
plot(x, y, pch= 16 , col='red', cex= 1.2 )

#add line of best fit to scatter plot
abline(lm(y ~ x), col='blue ' , lty='dashed') 

Мы также можем использовать следующий код для быстрого вычисления линии наилучшего соответствия:

#find regression model coefficients
summary(lm(y ~ x))$coefficients

 Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.8928571 1.0047365 -0.888648 4.084029e-01
x 2.3095238 0.1989675 11.607544 2.461303e-05

Линия наилучшего соответствия оказывается такой: y = -0,89 + 2,32x .

Пример 2: График наилучшего соответствия в ggplot2

В следующем коде показано, как построить линию наилучшего соответствия для простой модели линейной регрессии с использованием пакета визуализации данных ggplot2 :

library (ggplot2)

#define data
df <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7, 8),
 y=c(2, 5, 6, 7, 9, 12, 16, 19))

#create scatter plot with line of best fit
ggplot(df, aes (x=x, y=y)) +
 geom_point() +
 geom_smooth(method=lm, se= FALSE )

Не стесняйтесь изменять эстетику сюжета:

library (ggplot2)

#define data
df <- data.frame(x=c(1, 2, 3, 4, 5, 6, 7, 8),
 y=c(2, 5, 6, 7, 9, 12, 16, 19))

#create scatter plot with line of best fit
ggplot(df, aes (x=x, y=y)) +
 geom_point(col='red', size= 2 ) +
 geom_smooth(method=lm, se= FALSE , col='purple', linetype='dashed') +
 theme_bw() 

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в R:

Как выполнить простую линейную регрессию в R
Как выполнить множественную линейную регрессию в R
Как интерпретировать вывод регрессии в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.