Як додати рівняння регресії до графіка в r


Часто ви можете додати рівняння регресії до графіка в R таким чином:

Додайте рівняння регресії до графіка в R

На щастя, це досить легко зробити за допомогою функцій у пакетах ggplot2 і ggpubr .

Цей підручник надає покроковий приклад того, як використовувати функції в цих пакетах для додавання рівняння регресії до графіка в R.

Крок 1: Створіть дані

По-перше, створимо фейкові дані для роботи:

 #make this example reproducible
set. seeds (1)

#create data frame
df <- data. frame (x = c(1:100))
df$y <- 4*df$x + rnorm(100, sd=20)

#view head of data frame
head(df)

  xy
1 1 -8.529076
2 2 11.672866
3 3 -4.712572
4 4 47.905616
5 5 26.590155
6 6 7.590632

Крок 2: Створіть графік із рівнянням регресії

Далі ми використаємо такий синтаксис, щоб створити діаграму розсіювання з підігнаною лінією регресії та рівнянням:

 #load necessary libraries
library (ggplot2)
library (ggpubr)

#create plot with regression line and regression equation
ggplot(data=df, aes (x=x, y=y)) +
        geom_smooth(method=" lm ") +
        geom_point() +
        stat_regline_equation(label. x =30, label. y =310) 

Додайте рівняння регресії до графіка в R

Це говорить нам, що підігнане рівняння регресії таке:

y = 2,6 + 4*(x)

Зауважте, що label.x і label.y визначають (x,y) координати рівняння регресії для відображення.

Крок 3: Додайте R-квадрат до ділянки (необов’язково)

Ви також можете додати значення R у квадраті регресійної моделі, якщо хочете використовувати такий синтаксис:

 #load necessary libraries
library (ggplot2)
library (ggpubr)

#create plot with regression line, regression equation, and R-squared
ggplot(data=df, aes (x=x, y=y)) +
        geom_smooth(method=" lm ") +
        geom_point() +
        stat_regline_equation(label. x =30, label. y =310) +
stat_cor( aes (label=..rr.label..), label. x =30, label. y =290) 

Лінія регресії з рівнянням і значенням квадрата R у ggplot2

R-квадрат для цієї моделі виявляється рівним 0,98 .


Ви можете знайти більше посібників з R на цій сторінці .

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *