Learn R Programming

FrF2 (version 2.3-3)

StructurePickers: Functions to find split-plot or left-adjusted designs

Description

Functions to restructure a fractional factorial by permuting the base factors such that the leftmost base factors have a suitable alias structure for the problem at hand; meant for expert users

Usage

splitpick(k, gen, k.WP, nfac.WP, show=10)
leftadjust(k, gen, early=NULL, show=10)

Value

Both functions output a list of entries with information on at most show suitable permutations. splitpick ends with an error, if no suitable solution can be found.

orig

original generator column numbers

basics

named vector with the following entries:
for function splitpick, entries are the number of runs, the number of plots, the number of whole plot factors and the number of split-plot factors
for function leftadjust, entries are the number of runs, the number of factors, and - if early is not NULL - the entry for early

perms

matrix with rows containing permutations of base factors

res.WP

for splitpick only;
vector of resolutions for the respective rows of perms

maxpos

for leftadjust only;
vector of maximum positions for the early leftmost factors for the respective rows of perms

k.early

for leftadjust only;
vector of numbers of base factors needed for spanning the early leftmost factors for the respective rows of perms

gen

matrix the rows of which contain the generator columns for the respective rows of perms

Arguments

k

the number of base factors (designs have 2^k runs)

gen

vector of generating columns from Yates matrix

k.WP

integer number of base factors used for whole plot generation; there will be 2^k.WP plots in the design

nfac.WP

integer number of whole plot factors, must not be smaller than k.WP; the other k + length(gen) factors are split-plot factors, i.e. they change within plots

show

numeric integer indicating how many results are to be shown; for function splitpick, this number also determines how many designs are investigated; the other two functions investigate all designs and show the best results only

early

number that indicates how many “leftmost” factors are needed in the design; used by FrF2 for accomodating hard-to-change factors

Author

Ulrike Groemping

Details

These functions exploit the fact that a factorial design can be arranged such that the 2^k.WP-1 leftmost columns have exactly 2^k.WP different patterns. They can thus accomodate whole plot effects if 2^k.WP plots are available; also, with a specially rearranged version of the Yates matrix, the leftmost columns can have particularly few or particularly many level changes, cf. e.g. Cheng, Martin and Tang 1998.

By permuting the k base factors , the functions try to find 2^k.WP ones that accomodate the current needs, if taken as the first base factors. They are used by function FrF2, if a user requests an automatically-generated split-plot design or a design with some factors declared hard-to-change.

There may be a possibility to better accomodate the experimenters needs within a given design by trying different sets of base factors. This is not done in these functions. Also, custom user needs may be better fulfilled, if an expert user directly uses one of these functions for inspecting the possibilities, rather than relying on the automatic selection routine in function FrF2.

References

Cheng, C.-S., Martin, R.J., and Tang, B. (1998). Two-level factorial designs with extreme numbers of level changes. Annals of Statistics 26, 1522-1539.

See Also

See Also FrF2

Examples

Run this code
## leftadjusting MA design from table 6.22 in BHH2, 9 factors, 32 runs
## NOTE: nevertheless not as well left-adjusted as the isomorphic design 9-4.1 from catlg
leftadjust(5,c(30,29,27,23))
## with option early=4 (i.e. 4 columns as early as possible are requested)
leftadjust(5,c(30,29,27,23),early=4)
leftadjust(5,catlg$'9-4.1'$gen,early=4)

## look for a split plot design in 32 runs with 7 factors, 
##       3 of which are whole plot factors, 
##       and 8 plots
splitpick(5,catlg$'7-2.1'$gen,nfac.WP=3,k.WP=3)

Run the code above in your browser using DataLab