R Pull Out Residuals & Their Standard Error in Linear Regression (Example Code)
In this post you’ll learn how to extract residuals from a linear model in the R programming language.
Data
data(iris) # Loading iris flower data set head(iris) # Head of iris flower data set # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa |
data(iris) # Loading iris flower data set head(iris) # Head of iris flower data set # Sepal.Length Sepal.Width Petal.Length Petal.Width Species # 1 5.1 3.5 1.4 0.2 setosa # 2 4.9 3.0 1.4 0.2 setosa # 3 4.7 3.2 1.3 0.2 setosa # 4 4.6 3.1 1.5 0.2 setosa # 5 5.0 3.6 1.4 0.2 setosa # 6 5.4 3.9 1.7 0.4 setosa
Fitting Linear Model
iris_smry <- summary(lm(Sepal.Length ~ ., iris)) # Summary of linear model iris_smry # Print summary to RStudio console # Call: # lm(formula = Sepal.Length ~ ., data = iris) # # Residuals: # Min 1Q Median 3Q Max # -0.79424 -0.21874 0.00899 0.20255 0.73103 # # Coefficients: # Estimate Std. Error t value Pr(>|t|) # (Intercept) 2.17127 0.27979 7.760 1.43e-12 *** # Sepal.Width 0.49589 0.08607 5.761 4.87e-08 *** # Petal.Length 0.82924 0.06853 12.101 < 2e-16 *** # Petal.Width -0.31516 0.15120 -2.084 0.03889 * # Speciesversicolor -0.72356 0.24017 -3.013 0.00306 ** # Speciesvirginica -1.02350 0.33373 -3.067 0.00258 ** # --- # Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 # # Residual standard error: 0.3068 on 144 degrees of freedom # Multiple R-squared: 0.8673, Adjusted R-squared: 0.8627 # F-statistic: 188.3 on 5 and 144 DF, p-value: < 2.2e-16 |
iris_smry <- summary(lm(Sepal.Length ~ ., iris)) # Summary of linear model iris_smry # Print summary to RStudio console # Call: # lm(formula = Sepal.Length ~ ., data = iris) # # Residuals: # Min 1Q Median 3Q Max # -0.79424 -0.21874 0.00899 0.20255 0.73103 # # Coefficients: # Estimate Std. Error t value Pr(>|t|) # (Intercept) 2.17127 0.27979 7.760 1.43e-12 *** # Sepal.Width 0.49589 0.08607 5.761 4.87e-08 *** # Petal.Length 0.82924 0.06853 12.101 < 2e-16 *** # Petal.Width -0.31516 0.15120 -2.084 0.03889 * # Speciesversicolor -0.72356 0.24017 -3.013 0.00306 ** # Speciesvirginica -1.02350 0.33373 -3.067 0.00258 ** # --- # Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 # # Residual standard error: 0.3068 on 144 degrees of freedom # Multiple R-squared: 0.8673, Adjusted R-squared: 0.8627 # F-statistic: 188.3 on 5 and 144 DF, p-value: < 2.2e-16
Example: Pulling Out Residuals of Linear Regression
as.numeric(iris_smry$residuals) # Extract residuals # 0.095211981 0.143156450 -0.073096946 -0.289356835 -0.054376913 0.011114267 -0.323683608 ... |
as.numeric(iris_smry$residuals) # Extract residuals # 0.095211981 0.143156450 -0.073096946 -0.289356835 -0.054376913 0.011114267 -0.323683608 ...
summary(iris_smry$residuals) # Summary statistics of residuals # Min. 1st Qu. Median Mean 3rd Qu. Max. # -0.794236 -0.218743 0.008987 0.000000 0.202546 0.731034 |
summary(iris_smry$residuals) # Summary statistics of residuals # Min. 1st Qu. Median Mean 3rd Qu. Max. # -0.794236 -0.218743 0.008987 0.000000 0.202546 0.731034
iris_smry$sigma # Standard error of residuals # 0.3068261 |
iris_smry$sigma # Standard error of residuals # 0.3068261
Further Resources & Related Articles
You may have a look at the following tutorials. They focus on topics such as matrices, regression models, and coding errors.