| fac.multinested {dae} | R Documentation |
Creates several factors, one for each level of nesting.fac and each of whose values are either generated within those of a level of nesting.fac or using the values of nested.fac within a levels of nesting.fac.
Description
Creates several factors, one for each level of nesting.fac and each of whose values are either (i) generated within those of the level of nesting.fac or (ii) using the values of nested.fac within the levels of the nesting.fac. For (i), all elements having the same level of nesting.fac are numbered from 1 to the number of different elements having that level. For (ii), the values of nested.fac for a level of nesting.fac are copied. In both cases, for the values of nested.fac not equal to the level of the values of nested.fac for which a nested factor is being created, the levels are set to outlevel and labelled using outlabel. A factor is not created for a level of nesting.fac with label equal to outlabel. The names of the factors are equal to the levels of nesting.fac; optionally fac.prefix is added to the beginning of the names of the factors. The function is used to split up a nested term into separate terms for each level of nesting.fac.
Usage
fac.multinested(nesting.fac, nested.fac = NULL, fac.prefix = NULL,
nested.levs = NA, nested.labs = NA,
outlevel = 0, outlabel = "rest", ...)
Arguments
nesting.fac |
The |
nested.fac |
The |
fac.prefix |
The prefix to be added to a level in naming a nested |
nested.levs |
Optional |
nested.labs |
Optional |
outlevel |
The level to use in the new |
outlabel |
The label to use the |
... |
Further arguments passed to the |
Value
A data.frame containing a factor
for each level of nesting.fac.
Note
The levels of nesting.fac do not have to be equally replicated.
Author(s)
Chris Brien
See Also
fac.gen, fac.nested in package dae, factor.
Examples
lay <- data.frame(A = factor(rep(c(1:3), c(3,6,4)), labels = letters[1:3]))
lay$B <-fac.nested(lay$A)
#Add factors for B within each level of A
lay2 <- cbind(lay, fac.multinested(lay$A))
canon2 <- designAnatomy(list(~A/(a+b+c)), data = lay2)
summary(canon2)
#Add factors for B within each level of A, but with levels and outlabel given
lay2 <- cbind(lay, fac.multinested(lay$A, nested.levs = seq(10,60,10), outlabel = "other"))
canon2 <- designAnatomy(list(~A/(a+b+c)), data = lay2)
summary(canon2)
#Replicate the combinations of A and B three times and index them with the factor sample
lay3 <- rbind(lay,lay,lay)
lay3$sample <- with(lay3, fac.nested(fac.combine(list(A,B))))
#Add factors for B within each level of A
lay4 <- cbind(lay3, fac.multinested(nesting.fac = lay$A, nested.fac = lay$B))
canon4 <- designAnatomy(list(~(A/(a+b+c))/sample), data = lay4)
summary(canon4)
#Add factors for sample within each combination of A and B
lay5 <- with(lay4, cbind(lay4,
fac.multinested(nesting.fac = a, fac.prefix = "a"),
fac.multinested(nesting.fac = b, fac.prefix = "b"),
fac.multinested(nesting.fac = c, fac.prefix = "c")))
canon5 <- designAnatomy(list(~A/(a/(a1+a2+a3)+b/(b1+b2+b3+b4+b5+b6)+c/(c1+c2+c3))), data = lay5)
summary(canon5)
#Add factors for sample within each level of A
lay6 <- cbind(lay4,
fac.multinested(nesting.fac = lay4$A, nested.fac = lay$sample, fac.prefix = "samp"))
canon6 <- designAnatomy(list(~A/(a/sampa+b/sampb+c/sampc)), data = lay6)
summary(canon6)