Learn R Programming

stats (version 3.4.1)

summary.lm: Summarizing Linear Model Fits

Description

summary method for class "lm".

Usage

# S3 method for lm
summary(object, correlation = FALSE, symbolic.cor = FALSE, …)

# S3 method for 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.

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 \times 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 $$\hat\sigma^2 = \frac{1}{n-p}\sum_i{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 - \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.squared

the above \(R^2\) statistic ‘adjusted’, penalizing for higher \(p\).

cov.unscaled

a \(p \times p\) matrix of (unscaled) covariances of the \(\hat\beta_j\), \(j=1, \dots, 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.

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.

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

Run this code

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

Run the code above in your browser using DataLab