contrast.lm {contrast} | R Documentation |
General Contrasts of Regression Coefficients
Description
This function computes one or more contrasts of the estimated regression coefficients in a fit from one of the functions in Design, along with standard errors, confidence limits, t or Z statistics, P-values.
Usage
## S3 method for class 'lm'
contrast(fit, ...)
## S3 method for class 'gls'
contrast(fit, ...)
## S3 method for class 'lme'
contrast(fit, ...)
## S3 method for class 'geese'
contrast(fit, ...)
contrast_calc(
fit,
a,
b,
cnames = NULL,
type = c("individual", "average"),
weights = "equal",
conf.int = 0.95,
fcType = "simple",
fcFunc = I,
covType = NULL,
...,
env = parent.frame(2)
)
Arguments
fit |
A fit of class |
... |
For |
a , b |
Lists containing conditions for all predictors in the model that
will be contrasted to form the hypothesis |
cnames |
A vector of character strings naming the contrasts when
|
type |
A character string. Set |
weights |
A numeric vector, used when |
conf.int |
The confidence level for confidence intervals for the contrasts. |
fcType |
A character string: "simple", "log" or "signed". |
fcFunc |
A function to transform the numerator and denominator of fold changes. |
covType |
A string matching the method for estimating the covariance
matrix. The default value produces the typical estimate. See
|
env |
An environment in which evaluate fit. |
Details
These functions mirror rms::contrast.rms()
but have fewer options.
There are some between-package inconsistencies regarding degrees of freedom in some models. See the package vignette for more details.
Fold changes are calculated for each hypothesis. When fcType ="simple"
, the
ratio of the a
group predictions over the b
group predictions are used. When fcType = "signed"
, the ratio is used
if it is greater than 1; otherwise the negative inverse (e.g.,
-1/ratio
) is returned.
Value
a list of class contrast.Design
containing the elements
Contrast
, SE
, Z
, var
, df.residual
Lower
, Upper
, Pvalue
, X
,
cnames
, and foldChange
, which denote the contrast estimates, standard
errors, Z or t-statistics, variance matrix, residual degrees of freedom
(this is NULL
if the model was not ols
), lower and upper confidence
limits, 2-sided P-value, design matrix, and contrast names (or NULL
).
See Also
rms::contrast.rms()
, sandwich::vcovHC()
Examples
library(nlme)
Orthodont2 <- Orthodont
Orthodont2$newAge <- Orthodont$age - 11
fm1Orth.lme2 <- lme(distance ~ Sex * newAge,
data = Orthodont2,
random = ~ newAge | Subject
)
summary(fm1Orth.lme2)
contrast(fm1Orth.lme2,
a = list(Sex = levels(Orthodont2$Sex), newAge = 8 - 11),
b = list(Sex = levels(Orthodont2$Sex), newAge = 10 - 11)
)
# ---------------------------------------------------------------------------
anova_model <- lm(expression ~ diet * group, data = two_factor_crossed)
anova(anova_model)
library(ggplot2)
theme_set(theme_bw() + theme(legend.position = "top"))
ggplot(two_factor_crossed) +
aes(x = diet, y = expression, col = group, shape = group) +
geom_point() +
geom_smooth(aes(group = group), method = lm, se = FALSE)
int_model <- lm(expression ~ diet * group, data = two_factor_crossed)
main_effects <- lm(expression ~ diet + group, data = two_factor_crossed)
# Interaction effect is probably real:
anova(main_effects, int_model)
# Test treatment in low fat diet:
veh_group <- list(diet = "low fat", group = "vehicle")
trt_group <- list(diet = "low fat", group = "treatment")
contrast(int_model, veh_group, trt_group)
# ---------------------------------------------------------------------------
car_mod <- lm(mpg ~ am + wt, data = mtcars)
print(summary(car_mod), digits = 5)
mean_wt <- mean(mtcars$wt)
manual_trans <- list(am = 0, wt = mean_wt)
auto_trans <- list(am = 1, wt = mean_wt)
print(contrast(car_mod, manual_trans, auto_trans), digits = 5)