Contrasts {car} | R Documentation |
These are substitutes for similarly named functions in the base package (note the uppercase letter starting the second word in each function name). The only difference is that the contrast functions from the car package produce easier-to-read names for the contrasts when they are used in statistical models.
The functions and this documentation are adapted from the base package.
contr.Treatment(n, base = 1, contrasts = TRUE) contr.Sum(n, contrasts = TRUE) contr.Helmert(n, contrasts = TRUE)
n |
a vector of levels for a factor, or the number of levels. |
base |
an integer specifying which level is considered the baseline level.
Ignored if contrasts is FALSE . |
contrasts |
a logical indicating whether contrasts should be computed. |
These functions are used for creating contrast matrices for use in fitting analysis of variance and regression models.
The columns of the resulting matrices contain contrasts which can be used for coding a factor with n
levels.
The returned value contains the computed contrasts. If the argument contrasts
is FALSE
then a square matrix is returned.
Several aspects of these contrast functions are controlled by options set via the options
command:
decorate.contrasts
c("[", "]")
is used. For example, setting
options(decorate.contrasts=c(".", ""))
produces contrast names that are separated from factor names by a period.
Setting options(decorate.contrasts=c("", ""))
reproduces the behaviour of the R base contrast functions.decorate.contr.Treatment
"T."
is used.decorate.contr.Sum
"S."
.decorate.contr.Helmert
"H."
.contr.Sum.show.levels
TRUE
(the default if unset),
then level names are used for contrasts; if FALSE
, then numbers are used, as in contr.sum
in the base
package.
Note that there is no replacement for contr.poly
in the base
package (which produces
orthogonal-polynomial contrasts) since this function already constructs easy-to-read contrast names.
A matrix with n
rows and k
columns, with k = n - 1
if contrasts
is TRUE
and k = n
if contrasts
is FALSE
.
John Fox jfox@mcmaster.ca
contr.treatment
, contr.sum
,
contr.helmert
, contr.poly
# contr.Treatment vs. contr.treatment in the base package: lm(prestige ~ (income + education)*type, data=Prestige, contrasts=list(type="contr.Treatment")) ## Call: ## lm(formula = prestige ~ (income + education) * type, data = Prestige, ## contrasts = list(type = "contr.Treatment")) ## ## Coefficients: ## (Intercept) income education ## 2.275753 0.003522 1.713275 ## type[T.prof] type[T.wc] income:type[T.prof] ## 15.351896 -33.536652 -0.002903 ## income:type[T.wc] education:type[T.prof] education:type[T.wc] ## -0.002072 1.387809 4.290875 lm(prestige ~ (income + education)*type, data=Prestige, contrasts=list(type="contr.treatment")) ## Call: ## lm(formula = prestige ~ (income + education) * type, data = Prestige, ## contrasts = list(type = "contr.treatment")) ## ## Coefficients: ## (Intercept) income education ## 2.275753 0.003522 1.713275 ## typeprof typewc income:typeprof ## 15.351896 -33.536652 -0.002903 ## income:typewc education:typeprof education:typewc ## -0.002072 1.387809 4.290875