contrast.lm {contrast}  R Documentation 
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, Pvalues.
## 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)
)
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. 
These functions mirror rms::contrast.rms()
but have fewer options.
There are some betweenpackage 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.
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 tstatistics, variance matrix, residual degrees of freedom
(this is NULL
if the model was not ols
), lower and upper confidence
limits, 2sided Pvalue, design matrix, and contrast names (or NULL
).
rms::contrast.rms()
, sandwich::vcovHC()
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)