R: Summarizing Linear Model Fits

summary.lm {stats} | R Documentation

## Summarizing Linear Model Fits

### Description

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

### Usage

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

### See Also

The model fitting function `lm`, `summary`.

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

### Examples

    ##-- 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[3]),
              dim(coef(Sm.D9.)) == c(2,4), Sm.D9.$df == c(2, 18, 3))

[Package stats version 4.0.5 Index]