| %nests% {MIfuns} | R Documentation |
Various Tests for Nested Factors.
a %nests% b a %nested.in% b crosses(a,b) constant(x,within)
a |
A list of equal length factors, or one factor. |
b |
A list of factors, or one factor, same length as a. |
x |
An object like a, or a dataframe. |
within |
An object like b, or just column names in x for the data.frame version. |
nests tests whether the factor(s) on the right are nested
within the
factor(s) on the left: i.e. b implies a.
nested.in tests
the opposite: i.e., for unique interaction-wise levels of a, is
there
exactly one interaction-wise corresponding level in b (a
implies
b)? constant, by default, tests whether within
implies
x.
crosses is the basis for all other functions. For each level
in b,
it checks for corresponding levels of a, returning FALSE for
the first
and TRUE for any others, in which cases a crosses b, or
b
is crossed on (not nested in) a.
Logical vector for crosses; atomic logical for all others.
All these functions are NA-safe; i.e., they treat NA as a distinct level.
Tim Bergsma
CO2[,c("Type","Treatment")] %nests% CO2$Plant #TRUE
CO2$Plant %nested.in% CO2$Type #TRUE
with(CO2,constant(list(Type,Treatment),within=Plant)) #TRUE
with(ChickWeight,constant(Diet,within=Chick)) #TRUE
with(ChickWeight,constant(weight,within=list(Chick,Time))) #TRUE
crosses(c(1,1,1,NA,NA,4),c(2,3,3,NA,5,5)) #FALSE FALSE FALSE FALSE FALSE TRUE