Summarizing Linear Model Fits

summary method for class "lm".

models, regression
## S3 method for class 'lm':
summary(object, correlation = FALSE, symbolic.cor = FALSE, \dots)

## S3 method for class 'summary.lm': print(x, digits = max(3, getOption("digits") - 3), symbolic.cor = x$symbolic.cor, signif.stars = getOption("show.signif.stars"), ...)

an object of class "lm", usually, a result of a call to lm.
an object of class "summary.lm", usually, a result of a call to summary.lm.
logical; if TRUE, the correlation matrix of the estimated parameters is returned and printed.
the number of significant digits to use when printing.
logical. If TRUE, print the correlations in a symbolic form (see symnum) rather than as numbers.
logical. If TRUE, significance stars are printed for each coefficient.
further arguments passed to or from other methods.

print.summary.lm tries to be smart about formatting the coefficients, standard errors, etc. and additionally gives significance stars if signif.stars is TRUE.

Aliased coefficients are omitted in the returned object but restored by the print method.

Correlations are printed to two decimal places (or symbolically): to see the actual correlations print summary(object)$correlation directly.


  • The function summary.lm computes and returns a list of summary statistics of the fitted linear model given in object, using the components (list elements) "call" and "terms" from its argument, plus
  • residualsthe weighted residuals, the usual residuals rescaled by the square root of the weights specified in the call to lm.
  • coefficientsa $p \times 4$ matrix with columns for the estimated coefficient, its standard error, t-statistic and corresponding (two-sided) p-value. Aliased coefficients are omitted.
  • aliasednamed logical vector showing if the original coefficients are aliased.
  • sigmathe square root of the estimated variance of the random error $$\hat\sigma^2 = \frac{1}{n-p}\sum_i{w_i R_i^2},$$ where $R_i$ is the $i$-th residual, residuals[i].
  • dfdegrees of freedom, a 3-vector $(p, n-p, p*)$, the first being the number of non-aliased coefficients, the last being the total number of coefficients.
  • fstatistic(for models including non-intercept terms) a 3-vector with the value of the F-statistic with its numerator and denominator degrees of freedom.
  • r.squared$R^2$, the fraction of variance explained by the model, $$R^2 = 1 - \frac{\sum_i{R_i^2}}{\sum_i(y_i- y^*)^2},$$ where $y^*$ is the mean of $y_i$ if there is an intercept and zero otherwise.
  • adj.r.squaredthe above $R^2$ statistic adjusted, penalizing for higher $p$.
  • cov.unscaleda $p \times p$ matrix of (unscaled) covariances of the $\hat\beta_j$, $j=1, \dots, p$.
  • correlationthe correlation matrix corresponding to the above cov.unscaled, if correlation = TRUE is specified.
  • symbolic.cor(only if correlation is true.) The value of the argument symbolic.cor.
  • na.actionfrom object, if present there.

See Also

The model fitting function lm, summary.

Function coef will extract the matrix of coefficients with standard errors, t-statistics and p-values.

  • summary.lm
  • summary.mlm
  • print.summary.lm
library(stats) utils::example("lm", echo = FALSE) ##-- Continuing the lm(.) example: coef(lm.D90) # the bare coefficients sld90 <- summary(lm.D90 <- lm(weight ~ group -1)) # omitting intercept sld90 coef(sld90) # much more ## model with *aliased* coefficient: lm.D9. <- lm(weight ~ group + I(group != "Ctl")) Sm.D9. <- summary(lm.D9.) Sm.D9. # shows the NA NA NA NA line stopifnot(length(cc <- coef(lm.D9.)) == 3,[3]), dim(coef(Sm.D9.)) == c(2,4), Sm.D9.$df == c(2, 18, 3))
Documentation reproduced from package stats, version 3.3, License: Part of R 3.3

Community examples

Looks like there are no examples yet.