is_crossed {sjmisc} | R Documentation |
Check whether two factors are crossed or nested
Description
These functions checks whether two factors are (fully) crossed
or nested, i.e. if each level of one factor occurs in combination with
each level of the other factor (is_crossed()
) resp. if each
category of the first factor co-occurs with only one category of the
other (is_nested()
). is_cross_classified()
checks if one
factor level occurs in some, but not all levels of another factor.
Usage
is_crossed(f1, f2)
is_nested(f1, f2)
is_cross_classified(f1, f2)
Arguments
f1 |
Numeric vector or |
f2 |
Numeric vector or |
Value
Logical. For is_crossed()
, TRUE
if factors are (fully)
crossed, FALSE
otherwise. For is_nested()
, TRUE
if
factors are nested, FALSE
otherwise. For is_cross_classified()
,
TRUE
, if one factor level occurs in some, but not all levels of
another factor.
Note
If factors are nested, a message is displayed to tell whether f1
is nested within f2
or vice versa.
References
Grace, K. The Difference Between Crossed and Nested Factors. (web)
Examples
# crossed factors, each category of
# x appears in each category of y
x <- c(1,4,3,2,3,2,1,4)
y <- c(1,1,1,2,2,1,2,2)
# show distribution
table(x, y)
# check if crossed
is_crossed(x, y)
# not crossed factors
x <- c(1,4,3,2,3,2,1,4)
y <- c(1,1,1,2,1,1,2,2)
# show distribution
table(x, y)
# check if crossed
is_crossed(x, y)
# nested factors, each category of
# x appears in one category of y
x <- c(1,2,3,4,5,6,7,8,9)
y <- c(1,1,1,2,2,2,3,3,3)
# show distribution
table(x, y)
# check if nested
is_nested(x, y)
is_nested(y, x)
# not nested factors
x <- c(1,2,3,4,5,6,7,8,9,1,2)
y <- c(1,1,1,2,2,2,3,3,3,2,3)
# show distribution
table(x, y)
# check if nested
is_nested(x, y)
is_nested(y, x)
# also not fully crossed
is_crossed(x, y)
# but partially crossed
is_cross_classified(x, y)