CollapseTable {DescTools} | R Documentation |
Collapse Levels of a Table
Description
Collapse (or re-label) variables in a
a contingency table or ftable
object by re-assigning levels of the table variables.
Usage
CollapseTable(x, ...)
Arguments
x |
A |
... |
A collection of one or more assignments of factors of the table to a list of levels |
Details
Each of the ...
arguments must be of the form
variable = levels
, where variable
is the name of one of the table
dimensions, and levels
is a character or numeric vector of length equal
to the corresponding dimension of the table. Missing argument names are allowed and will be interpreted in the order of the dimensions of the table.
Value
A table
object (even if the input was an ftable), representing the original table with
one or more of its factors collapsed or rearranged into other levels.
Author(s)
Michael Friendly <friendly@yorku.ca>, Andri Signorell <andri@signorell.net>
See Also
margin.table
"collapses" a table in a different way, by
summing over table dimensions.
Examples
# create some sample data in table form
sex <- c("Male", "Female")
age <- letters[1:6]
education <- c("low", 'med', 'high')
data <- expand.grid(sex=sex, age=age, education=education)
counts <- rpois(36, 100)
data <- cbind(data, counts)
t1 <- xtabs(counts ~ sex + age + education, data=data)
Desc(t1)
## age a b c d e f
## sex education
## Male low 119 101 109 85 99 93
## med 94 98 103 108 84 84
## high 81 88 96 110 100 92
## Female low 107 104 95 86 103 96
## med 104 98 94 95 110 106
## high 93 85 90 109 99 86
# collapse age to 3 levels
t2 <- CollapseTable(t1, age=c("A", "A", "B", "B", "C", "C"))
Desc(t2)
## age A B C
## sex education
## Male low 220 194 192
## med 192 211 168
## high 169 206 192
## Female low 211 181 199
## med 202 189 216
## high 178 199 185
# collapse age to 3 levels and pool education: "low" and "med" to "low"
t3 <- CollapseTable(t1, age=c("A", "A", "B", "B", "C", "C"),
education=c("low", "low", "high"))
Desc(t3)
## age A B C
## sex education
## Male low 412 405 360
## high 169 206 192
## Female low 413 370 415
## high 178 199 185
# change labels for levels of education to 1:3
t4 <- CollapseTable(t1, education=1:3)
Desc(t4)
## age a b c d e f
## sex education
## Male 1 119 101 109 85 99 93
## 2 94 98 103 108 84 84
## 3 81 88 96 110 100 92
## Female 1 107 104 95 86 103 96
## 2 104 98 94 95 110 106
## 3 93 85 90 109 99 86