pb | R Documentation |
The function generates Plackett-Burman designs and in some cases other screening designs in run numbers that are a multiple of 4. These designs are particularly suitable for screening a large number of factors, since interactions are not fully aliased with one main effect each but partially aliased. (The design in 8 runs is an exception from this rule.)
pb(nruns, nfactors = nruns - 1, factor.names = if (nfactors <= 50)
Letters[1:nfactors] else paste("F", 1:nfactors, sep = ""),
default.levels = c(-1, 1), ncenter=0, center.distribute=NULL,
boxtyssedal = TRUE, n12.taguchi = FALSE,
replications = 1, repeat.only = FALSE,
randomize = TRUE, seed = NULL, oldver = FALSE, ...)
pb.list
nruns |
number of runs, must be a multiple of 4 |
nfactors |
number of factors, default is nruns - 1,
and it is recommended to retain this default. |
factor.names |
a character vector of factor names (length up to nfactors)
or a list with |
default.levels |
default levels (vector of length 2) for all factors for which no specific levels are given |
ncenter |
number of center points; |
center.distribute |
the number of positions over which the center points
are to be distributed ; if NULL (default), center points are
distributed over end, beginning, and middle (in that order, if there are fewer than three center points)
for randomized designs, and appended to the end for non-randomized designs.
for more detail, see function |
boxtyssedal |
logical, relevant only for nruns=16. If FALSE, the geometric (=standard) 16 run plan is used. If TRUE, the proposal by Box and Tyssedal is used instead, which has the advantage (for screening) of aliasing each interaction with several main effects, like the other Plackett-Burman designs. |
n12.taguchi |
logical, relevant only for nruns=12. If TRUE, the 12 run design is given in Taguchi order. |
replications |
positive integer number. Default 1 (i.e. each row just once).
If larger, each design run is executed replication times.
If Otherwise (default), the full experiment is first carried out once, then for the second replication and so forth. In case of randomization, each such blocks is randomized separately. In this case, replication variance is more likely suitable for usage as error variance (unless e.g. the same parts are used for replication runs although build variation is important). |
repeat.only |
logical, relevant only if replications > 1. If TRUE,
replications of each run are grouped together
(repeated measurement rather than true replication). The default is
|
randomize |
logical. If TRUE, the design is randomized. This is the default. |
seed |
optional seed for the randomization process |
oldver |
logical. If |
... |
currently not used |
pb
stands for Plackett-Burman. Plackett-Burman designs (Plackett and Burman 1946) are generally
used for screening many variables in relatively few runs, when interest is in
main effects only, at least initially. Different from the regular
fractional factorial designs created by function FrF2
, they
do not perfectly confound interaction terms with main effects but distribute
interaction effects over several main effects. The designs with number of runs
a power of 2 are an exception to this rule: they are just the resolution III
regular fractional factorial designs and are as such not very suitable for
screening because of a high risk of very biased estimates for the main effects
of the factors. Where possible, these are therefore replaced by different designs (cf. below).
For most run numbers, function pb
uses Plackett-Burman designs,
and simply fills columns from left to right.
The generating rows for these designs can be found in the list pb.list
(a 0 entry indicates that the design is constructed by a different method, e.g. doubling).
For 12 runs, the isomorphic design by Taguchi can be requested. For 16 runs, the default is to use the designs suggested by Box and Tyssedal (2001), which up to 14 factors do not suffer from perfect aliasing. For 32 runs, a cyclic design with generating row given in Samset and Tyssedal (1999) is used. For 64 runs, the 32 run design is doubled. For 92 runs, a design is constructed according to the Williamson construction with matrices A, B, C and D from Hedayat and Stufken (1999), p. 160.
Designs up to 100~runs are covered.
Usage of the 8 run design for more than 4 factors is discouraged, as it completely aliases main effects with individual two-factor interactions. It is recommended to use at least the 12 run design instead for screening more than 4 factors.
Value is a data frame of S3 class design
and has attached attributes that can be accessed
by functions desnum
,
run.order
and
design.info
.
The data frame itself contains the design with levels coded as requested.
If no center points have been requested, the design columns are factors with
contrasts -1
and +1
(cf. also contr.FrF2
); in case
of center points, the design columns are numeric.
The following attributes are attached to it:
desnum |
Design matrix in -1/1 coding |
run.order |
three column data frame, first column contains the run number in standard order, second column the run number as randomized, third column the run number with replication number as postfix; useful for switching back and forth between actual and standard run number |
design.info |
list with entries
|
With version 1.0-5 of package FrF2,
design generation for the designs based on doubling has changed (internal function
double.des
). This affected designs for 40,56,64,88,96 runs.
With version 1.3 of package FrF2, this and further behaviors (52, 76) has changed
again, in the interest of improving generalized resolution of desigs produced by function pb
.
For the affected run sizes, package versions from 1.0-5 onwards
cannot exactly reproduce pb designs that have been created with a version before
1.0-5. Package versions from 1.3 onwards reproduce the behavior of versions 1.0-5 to 1.2-10
through option oldver
.
Since R version 3.6.0, the behavior of function sample
has changed
(correction of a biased previous behavior that should not be relevant for the randomization of designs).
For reproducing a randomized design that was produced with an earlier R version,
please follow the steps described with the argument seed
.
Ulrike Groemping
Box, G.E.P. and Tyssedal, J. (2001) Sixteen Run Designs of High Projectivity for Factor Screening. Communications in Statistics - Simulation and Computation 30, 217-228.
Hedayat, A.S., Sloane, N.J.A. and Stufken, J. (1999) Orthogonal Arrays: Theory and Applications, Springer, New York.
Groemping, U. (2014). R Package FrF2 for Creating and Analyzing Fractional Factorial 2-Level Designs. Journal of Statistical Software, 56, Issue 1, 1-56. https://www.jstatsoft.org/v56/i01/.
Mee, R. (2009). A Comprehensive Guide to Factorial Two-Level Experimentation. New York: Springer.
Plackett, R.L.; Burman, J.P. (1946) The design of optimum multifactorial experiments. Biometrika 33, 305-325.
Samset, O.; Tyssedal, J. (1999) Two-level designs with good projection properties. Technical Report 12, Department of Mathematical Sciences, The Norwegian University of Science and Technology, Norway.
Williamson, J. (1946) Determinants whose elements are 0 and 1. American Mathematical Monthly 53, 427-434.
See also FrF2
for regular fractional factorial designs,
generalized.word.length
for functions length3
and length4
used in examples
pb(12,randomize=FALSE)
pb(12,randomize=FALSE,n12.taguchi=TRUE)
pb(20,seed=29869)
pb(16,factor.names=list(A="",B="",C="",D=c("min","max"),
E="",F="",G="",H="",J=c("new","old")))
pb(8,default.levels=c("current","new"))
test <- pb(40) ## design created by doubling the 20 run design
pb(12, ncenter=6) ## 6 center points with default placement
## Not run:
## note: designs in 40, 56, 64, 88, and 96 runs are resolution IV,
## if the number of factors is up to nruns/2 - 1, e.g.:
plan1 <- pb(40, 19)
length3(plan1) ## 0 generalized words of length 3
length4(plan1) ## 228 generalized words of length 4
## they can be made resolution IV by oldver=TRUE for
## nfactors=nruns/2, e.g.:
plan2 <- pb(40, 20)
plan3 <- pb(40, 20, oldver=TRUE)
length3(plan2) ## 9 generalized words of length 3
length3(plan3) ## 0 generalized words of length 3
length4(plan3) ## 285 generalized words of length 4
## note: designs in 52, 76, and 100 runs are almost resolution IV,
## if the number of factors is up to nruns/2 - 1, e.g.:
plan4 <- pb(52, 25)
GR(plan4) ## generalized resolution 3.92
## note: versions >1.3 avoid complete and heavy aliasing of triples of factors
## for up to nruns-2 factors for 40, 52, 56, 64, 76, 88, 92 and 96 runs
## (the same for 100 runs, which were not implemented before version 1.3)
plan5 <- pb(40, 38)
plan6 <- pb(40, 38, oldver=TRUE)
GR(plan5) ## generalized resolution 3.4
GR(plan6) ## generalized resolution 3
plan7 <- pb(52, 50)
plan8 <- pb(52, 50, oldver=TRUE)
GR(plan7) ## generalized resolution 3.62
GR(plan8) ## generalized resolution 3.15
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.