# How to compute adjusted R-squared (in R)

See all solutions.

If we have fit a multivariate linear model, how can we compute the Adjusted $R^2$ for that model, to measure its goodness of fit?

## Solution

We assume you have already fit a multivariate linear model to the data, as in the code below. (If you’re unfamiliar with how to do so, see how to fit a multivariate linear model.) The data shown below is fake, and we assume you will replace it with your own real data if you use this code.

 1 2 3 4 5 x1 <- c(2, 7, 4, 3, 11, 18, 6, 15, 9, 12) x2 <- c(4, 6, 10, 1, 18, 11, 8, 20, 16, 13) x3 <- c(11, 16, 20, 6, 14, 8, 5, 23, 13, 10) y <- c(24, 60, 32, 29, 90, 45, 130, 76, 100, 120) model <- lm(y ~ x1 + x2 + x3)

You can get a lot of information about your model from its summary.

 1 summary(model)
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Call: lm(formula = y ~ x1 + x2 + x3) Residuals: Min 1Q Median 3Q Max -25.031 -20.218 -8.373 22.937 35.640 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 77.244 27.366 2.823 0.0302 * x1 -2.701 2.855 -0.946 0.3806 x2 7.299 2.875 2.539 0.0441 * x3 -4.861 2.187 -2.223 0.0679 . --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 30.13 on 6 degrees of freedom Multiple R-squared: 0.5936, Adjusted R-squared: 0.3904 F-statistic: 2.921 on 3 and 6 DF, p-value: 0.1222

In particular, that printout contains the Adjusted $R^2$ value; it is the second value in the right-hand column, near the top.

You can also obtain it directly, as follows:

 1 summary(model)$adj.r.squared  1 [1] 0.3903924 In this case, the Adjusted$R^2$is$0.3904\$.

See a problem? Tell us or edit the source.

Contributed by Elizabeth Czarniak (CZARNIA_ELIZ@bentley.edu)