blockpick {FrF2} | R Documentation |
Functions to investigate potential assignments of blocks and show alias information of resulting designs, meant for expert users
blockpick(k, gen, k.block, design = NULL, show = 10, alias.block.2fis = FALSE, select.catlg = catlg) blockpick.big(k, gen, k.block, design = NULL, show = 10, alias.block.2fis = FALSE, select.catlg = catlg)
k |
the number of base factors (designs have 2^k runs) |
gen |
vector of generating columns from Yates matrix;
for a full factorial, choose gen = 0 or
gen=numeric(0) for
no generating columns.For function blockpick , gen refers to the generators
of the base design only, and block columns are automatically added by
blockpick .For function blockpick.big , gen refers to the generators
for treatment factors and block generators. In fact, blockpick.big
will always use the first k.block (base) factors for block generation.
Hence, for example for generating a design in 64 runs and 7 factors with
32 blocks, gen must have 6 entries in order to accomodate the
7 treatment factors together with the 5 block generators.
|
k.block |
number of base factors needed for constructing blocks;
there will be 2^k.block blocks in the design |
design |
design name (character string) of a specific design from the catalogue given in select.catlg |
show |
numeric integer indicating how many results are to be shown;
the search for possible allocations stops, once show variants
have been found. Note that the best designs may not be found early in
the process, especially if a large number of eligible columns is available
and many blocks are needed (e.g.
full factorial in 64 runs with 16 blocks). In such cases, increasing show may
lead to finding a better design (but may also increase calculation
time from long to unbearable). |
alias.block.2fis |
logical, indicates whether 2fis may be aliased with blocks |
select.catlg |
design catalogue of class catlg |
Function blockpick
is used per default by function FrF2
for problems with choose(nruns-1-nfactors,k.block) < 100000
, otherwise
blockpick.big
is used.
blockpick
is preferrable for smaller problems, because it will find a design, if it
exists. However, it may take a long time and/or much storage space in problems with
large numbers of runs and blocks.
Both functions investigate the potential assignment of blocks such that
main effects of treatment factors are not aliased with block main effects.
It is left to the user whether or not 2fis amoong treatment effects may be
aliased with block main effects (option alias.block.2fis
).
Following Sun, Wu and Chen (1997), there is no single best block assignment.
blockpick
uses their catalogue for full factorials (implemented up to 256 runs).
For fractional factorials, it develops designs according to a
principle similar to that underlying the Sun Wu Chen catalogue that works also in
uncatalogued situations.
Function blockpick.big
uses a strategy similar to splitpick
and leftadjust
and often finds a solution quickly where blockpick
does not work with the
given ressources. However, it is not guaranteed to find existing solutions
or a best solution.
The function blockpick
outputs a list of entries with information on at most show
suitable
assignments. It ends with an error, if no suitable solution can be found.
gen |
generator column numbers of the base design (w.r.t. the Yates matrix) |
basics |
named vector with number of runs (nruns ), number of blocks (nblocks ),
number of treatment factors (ntreat ) and resolution of base design (res.base );
the vector is numeric or character, depending on whether resolution is known exactly or
as “5+” only |
blockcols |
matrix with at most show rows; each row contains the k.block
column numbers (w.r.t. the Yates matrix) of the block generators
for the current assignment (the 2^k.block-1 columns for block main
effects can be obtained from these). |
alias.2fis.block |
list of character vectors, which contain the 2fis
aliased with block main effects for the respective rows of blockcols |
nblock.2fis |
vector with number of 2fis aliased with block main effects
for the respective rows of blockcols |
nclear.2fis |
vector with number of 2fis clear (of aliasing with block main effects
and treatment main effects or 2fis)
for the respective rows of blockcols |
clear.2fis |
list of character vectors, which contain the 2fis that are
counted in nclear.2fis
for the respective rows of blockcols |
Ulrike Groemping
Chen, J., Sun, D.X. and Wu, C.F.J. (1993) A catalogue of 2-level and 3-level orthogonal arrays. International Statistical Review 61, 131-145.
Sun, D.X., Wu, C.F.J. and Chen, Y.Y. (1997). Optimal blocking schemes for 2^p and 2^(n-p) designs. Technometrics 39, 298-307.
See Also FrF2
## look at possibilities for running a 32 run full factorial in 8 blocks ## running this without alias.block.2fis=TRUE throws an error: not possible ## Not run: blockpick(5,0,3) ## the 10th design with block generators 3,12,21 has the most clear 2fis blockpick(5,0,3,alias.block.2fis=TRUE) ## function FrF2 can be used to manually accomodate this design des32.5fac.8blocks.MaxC2 <- FrF2(32,5,blocks=c(3,12,21)) design.info(des32.5fac.8blocks.MaxC2) ## look at possibilities for blocking design 7-3.1 from Chen, Sun, Wu catalogue blockpick(4,design="7-3.1",k.block=2,alias.block.2fis=TRUE) ## big design ## running this throws an error on many machines because of too little memory ## Not run: blockpick(6,design="7-1.2",k.block=5,alias.block.2fis=TRUE) ## for obtaining a design for this scenario with blockpick.big, ## the number of factors must be increased to 7+k.block=12 ## designs 12-6.1 and 12-6.2 dont do it, 12-6.3 does bpb <- blockpick.big(6,design="12-6.3",k.block=5,alias.block.2fis=TRUE) bpb ## based on the result of blockpick.big, a blocked design can be obtained as follows: des64.7fac.32blocks <- FrF2(64,gen=bpb$gen[1,], blocks = as.list(1:5), alias.block.2fis=TRUE) str(des64.7fac.32blocks) ## if the seven factors are to be named A,...,G: des64.7fac.32blocks <- FrF2(64,gen=bpb$gen[1,], blocks = as.list(1:5), alias.block.2fis=TRUE, factor.names=c(paste("b",1:5,sep=""),Letters[1:7])) str(des64.7fac.32blocks)