crossed_by(A, B)
is the same as ~A:B
but crossed_by
offers more control over the names of the new units
as well as adding new attributes.
Examples
design("Strip-Plot Design | Strip-Unit Design") %>%
set_units(block = 3,
row = nested_in(block, 7),
col = nested_in(block, 6),
unit = nested_in(block, crossed_by(row, col)))
#> Strip-Plot Design | Strip-Unit Design
#> └─block (3 levels)
#> ├─row (21 levels)
#> │ └─unit (126 levels)
#> ├─col (18 levels)
#> │ └─unit (126 levels)
#> └─unit (126 levels)