Dummy {DescTools} | R Documentation |
Generate Dummy Codes for a Factor
Description
Generate a matrix of dummy codes (class indicators) for a given factor.
Usage
Dummy(x, method = c("treatment", "sum", "helmert", "poly", "full"),
base = 1, levels = NULL)
Arguments
x |
factor or vector of classes for cases. |
method |
defines the method of the contrasts being formed. Can be one
out of |
base |
an integer specifying which group is considered the baseline group. |
levels |
an optional vector of the values (as character strings) that |
Details
For reverting dummy codes see the approach in the examples below.
Value
a matrix with the dummy codes.
The number of rows correspond to the number of elements in x
and the number of columns to the number of its levels - 1, respectively to the number of levels given as argument -1.
When method = "full"
is chosen the number of columns will correspond to the number of levels.
Author(s)
Andri Signorell <andri@signorell.net>
References
Venables, W N and Ripley, B D (2002): Modern Applied Statistics with S. Fourth edition. Springer.
See Also
model.frame
, contrasts
, class.ind
in the package nnet
Examples
x <- c("red","blue","green","blue","green","red","red","blue")
Dummy(x)
Dummy(x, base=2)
Dummy(x, method="sum")
y <- c("Max","Max","Max","Max","Max","Bill","Bill","Bill")
Dummy(y)
Dummy(y, base="Max")
Dummy(y, base="Max", method="full")
# "Undummy" (revert the dummy coding)
m <- Dummy(y, method="full")
m
z <- apply(m, 1, function(x) colnames(m)[x==1])
z
identical(y, as.vector(z))
m <- Dummy(y)
m
z <- apply(m, 1, function(x) ifelse(sum(x)==0, attr(m,"base"), colnames(m)[x==1]))
z