Jak wykreślić linię regresji liniowej w ggplot2 (z przykładami)


Możesz użyć biblioteki wizualizacji R ggplot2, aby wykreślić dopasowany model regresji liniowej, korzystając z następującej podstawowej składni:

 ggplot(data,aes(x, y)) +
  geom_point() +
  geom_smooth(method=' lm ')

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: wykreślenie linii regresji liniowej w ggplot2

Załóżmy, że dopasowujemy prosty model regresji liniowej do następującego zbioru danych:

 #create dataset
data <- data.frame(y=c(6, 7, 7, 9, 12, 13, 13, 15, 16, 19, 22, 23, 23, 25, 26),
                   x=c(1, 2, 2, 3, 4, 4, 5, 6, 6, 8, 9, 9, 11, 12, 12))

#fit linear regression model to dataset and view model summary
model <- lm(y~x, data=data)
summary(model)

Call:
lm(formula = y ~ x, data = data)

Residuals:
    Min 1Q Median 3Q Max 
-1.4444 -0.8013 -0.2426 0.5978 2.2363 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 4.20041 0.56730 7.404 5.16e-06 ***
x 1.84036 0.07857 23.423 5.13e-12 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.091 on 13 degrees of freedom
Multiple R-squared: 0.9769, Adjusted R-squared: 0.9751 
F-statistic: 548.7 on 1 and 13 DF, p-value: 5.13e-12

Poniższy kod pokazuje, jak wizualizować dopasowany model regresji liniowej:

 library (ggplot2)

#create plot to visualize fitted linear regression model
ggplot(data,aes(x, y)) +
  geom_point() +
  geom_smooth(method=' lm ') 

Wykres regresji liniowej w ggplot2

Domyślnie ggplot2 dodaje do wykresu standardowe linie błędów. Możesz je wyłączyć za pomocą argumentu se=FALSE w następujący sposób:

 library (ggplot2)

#create regression plot with no standard error lines
ggplot(data,aes(x, y)) +
  geom_point() +
  geom_smooth(method=' lm ', se= FALSE ) 

Linia regresji ggplot2

Na koniec możemy dostosować niektóre aspekty wykresu, aby uczynić go bardziej atrakcyjnym wizualnie:

 library (ggplot2)

#create regression plot with customized style
ggplot(data,aes(x, y)) +
  geom_point() +
  geom_smooth(method=' lm ', se= FALSE , color=' turquoise4 ') +
  theme_minimal() +
  labs(x=' X Values ', y=' Y Values ', title=' Linear Regression Plot ') +
  theme(plot.title = element_text(hjust=0.5, size=20, face=' bold ')) 

Niestandardowa linia regresji przy użyciu ggplot2 w R

Pełny przewodnik po najlepszych motywach ggplot2 znajdziesz w tym artykule .

Dodatkowe zasoby

Wprowadzenie do wielokrotnej regresji liniowej w R
Jak wykreślić przedział ufności w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *