Как нарисовать линию наилучшего соответствия в 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,31x .
Пример 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