# summary.lm: Summarizing Linear Model Fits

## Description

`summary` method for class `"lm"`.

## Usage

 ```1 2 3 4 5 6 7``` ```## S3 method for class 'lm' summary(object, correlation = FALSE, symbolic.cor = FALSE, ...) ## 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"), ...) ```

## Arguments

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

## Details

`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.

## Value

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

 `residuals` the weighted residuals, the usual residuals rescaled by the square root of the weights specified in the call to `lm`. `coefficients` a p x 4 matrix with columns for the estimated coefficient, its standard error, t-statistic and corresponding (two-sided) p-value. Aliased coefficients are omitted. `aliased` named logical vector showing if the original coefficients are aliased. `sigma` the square root of the estimated variance of the random error σ^2 = 1/(n-p) Sum(w[i] R[i]^2), where R[i] is the i-th residual, `residuals[i]`. `df` degrees 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 - Sum(R[i]^2) / Sum((y[i]- y*)^2), where y* is the mean of y[i] if there is an intercept and zero otherwise. `adj.r.squared` the above R^2 statistic ‘adjusted’, penalizing for higher p. `cov.unscaled` a p x p matrix of (unscaled) covariances of the coef[j], j=1, …, p. `correlation` the 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.action` from `object`, if present there.

The model fitting function `lm`, `summary`.
Function `coef` will extract the matrix of coefficients with standard errors, t-statistics and p-values.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```##-- 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, is.na(cc), dim(coef(Sm.D9.)) == c(2,4), Sm.D9.\$df == c(2, 18, 3)) ```