Вы можете использовать один из следующих методов для построения линии наилучшего соответствия в 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