coef_test
reports t-tests for each coefficient estimate in a fitted
linear regression model, using a sandwich estimator for the standard errors
and a small sample correction for the p-value. The small-sample correction is
based on a Satterthwaite approximation or a saddlepoint approximation.
Arguments
- obj
Fitted model for which to calculate t-tests.
- vcov
Variance covariance matrix estimated using
vcovCR
or a character string specifying which small-sample adjustment should be used to calculate the variance-covariance.- test
Character vector specifying which small-sample corrections to calculate.
"z"
returns a z test (i.e., using a standard normal reference distribution)."naive-t"
returns a t test withm - 1
degrees of freedom, wherem
is the number of unique clusters."naive-tp"
returns a t test withm - p
degrees of freedom, wherep
is the number of regression coefficients inobj
."Satterthwaite"
returns a Satterthwaite correction."saddlepoint"
returns a saddlepoint correction. Default is"Satterthwaite"
.- coefs
Character, integer, or logical vector specifying which coefficients should be tested. The default value
"All"
will test all estimated coefficients.- p_values
Logical indicating whether to report p-values. The default value is
TRUE
.- ...
Further arguments passed to
vcovCR
, which are only needed ifvcov
is a character string.
Value
A data frame containing estimated regression coefficients, standard errors, and test results. For the Satterthwaite approximation, degrees of freedom and a p-value are reported. For the saddlepoint approximation, the saddlepoint and a p-value are reported.
Examples
data("ChickWeight", package = "datasets")
lm_fit <- lm(weight ~ Diet * Time, data = ChickWeight)
diet_index <- grepl("Diet.:Time", names(coef(lm_fit)))
coef_test(lm_fit, vcov = "CR2", cluster = ChickWeight$Chick, coefs = diet_index)
#> Coef. Estimate SE t-stat d.f. (Satt) p-val (Satt) Sig.
#> Diet2:Time 1.77 1.49 1.19 18.8 0.2497
#> Diet3:Time 4.58 1.35 3.39 18.8 0.0031 **
#> Diet4:Time 2.87 1.01 2.85 18.3 0.0105 *
V_CR2 <- vcovCR(lm_fit, cluster = ChickWeight$Chick, type = "CR2")
coef_test(lm_fit, vcov = V_CR2, coefs = diet_index)
#> Coef. Estimate SE t-stat d.f. (Satt) p-val (Satt) Sig.
#> Diet2:Time 1.77 1.49 1.19 18.8 0.2497
#> Diet3:Time 4.58 1.35 3.39 18.8 0.0031 **
#> Diet4:Time 2.87 1.01 2.85 18.3 0.0105 *