lmtest (version 0.9-40)

coeftest: Inference for Estimated Coefficients


coeftest is a generic function for performing z and (quasi-)t Wald tests of estimated coefficients. coefci computes the corresponding Wald confidence intervals.


coeftest(x, vcov. = NULL, df = NULL, …)

# S3 method for default coeftest(x, vcov. = NULL, df = NULL, …, save = FALSE)

coefci(x, parm = NULL, level = 0.95, vcov. = NULL, df = NULL, …)



an object (for details see below).


a specification of the covariance matrix of the estimated coefficients. This can be specified as a matrix or as a function yielding a matrix when applied to x.


the degrees of freedom to be used. If this is a finite positive number a t test with df degrees of freedom is performed. In all other cases, a z test (using a normal approximation) is performed. By default it tries to use x$df.residual and performs a z test if this is NULL.

further arguments passed to the methods and to vcov. in the default method.


logical. Should the object x itself be saved as an attribute? (This may be useful for further processing of coeftest objects, e.g., as part of model summaries.)


a specification of which parameters are to be given confidence intervals, either a vector of numbers or a vector of names. If missing, all parameters are considered.


the confidence level required.


coeftest returns an object of class "coeftest" which is essentially a coefficient matrix with columns containing the estimates, associated standard errors, test statistics and p values. Attributes for a "method" label, and the "df" are added along with "nobs" and "logLik" (provided that suitable extractor methods nobs and logLik are available). Optionally, the full object x can be saved in an attribute "object" to facilitate further model summaries based on the coeftest result.

coefci returns a matrix (or vector) with columns giving lower and upper confidence limits for each parameter. These will be labeled as (1-level)/2 and 1 - (1-level)/2 in percent.


The generic function coeftest currently has a default method (which works in particular for "lm" objects) and dedicated methods for objects of class "glm" (as computed by glm), "mlm" (as computed by lm with multivariate responses), "survreg" (as computed by survreg), and "breakpointsfull" (as computed by breakpoints.formula).

The default method assumes that a coef methods exists, such that coef(x) yields the estimated coefficients.

To specify the corresponding covariance matrix vcov. to be used, there are three possibilities: 1. It is pre-computed and supplied in argument vcov.. 2. A function for extracting the covariance matrix from x is supplied, e.g., sandwich, vcovHC, vcovCL, or vcovHAC from package sandwich. 3. vcov. is set to NULL, then it is assumed that a vcov method exists, such that vcov(x) yields a covariance matrix. Illustrations are provided in the examples below.

The degrees of freedom df determine whether a normal approximation is used or a t distribution with df degrees of freedom. The default method computes df.residual(x) and if this is NULL, 0, or Inf a z test is performed. The method for "glm" objects always uses df = Inf (i.e., a z test).

The corresponding Wald confidence intervals can be computed either by applying coefci to the original model or confint to the output of coeftest. See below for examples.

Finally, nobs and logLik methods are provided which work, provided that there are such methods for the original object x. In that case, "nobs" and "logLik" attributes are stored in the coeftest output so that they can be still queried subsequently. If both methods are available, AIC and BIC can also be applied.

See Also

lm, waldtest


Run this code
## load data and fit model
data("Mandible", package = "lmtest")
fm <- lm(length ~ age, data = Mandible, subset=(age <= 28))

## the following commands lead to the same tests:
(ct <- coeftest(fm))

## a z test (instead of a t test) can be performed by
coeftest(fm, df = Inf)

## corresponding confidence intervals
## which in this simple case is equivalent to

## extract further model information either from
## the original model or from the coeftest output
AIC(fm, ct)
BIC(fm, ct)

if(require("sandwich")) {
## a different covariance matrix can be also used:
(ct <- coeftest(fm, df = Inf, vcov = vcovHC))

## the corresponding confidence interval can be computed either as
## or based on the original model
coefci(fm, df = Inf, vcov = vcovHC)

## note that the degrees of freedom _actually used_ can be extracted
## which differ here from

## vcov can also be supplied as a function with additional arguments
coeftest(fm, df = Inf, vcov = vcovHC, type = "HC0")
## or as a matrix
coeftest(fm, df = Inf, vcov = vcovHC(fm, type = "HC0"))
# }

Run the code above in your browser using DataLab