corDiGGer {DiGGer} | R Documentation |
corDiGGer
modifies a DiGGer object by optionally adding blocking
search phases before a final spatial, row-column search phase.
corDiGGer(numberOfTreatments, rowsInDesign, columnsInDesign, rowsInReplicate = NULL, columnsInReplicate = NULL, blockSequence = NULL, independentBlocks = NULL, maxInterchanges = 1e+05, searchIntensity = 100, aType = NULL, targetAValue = NULL, runSearch = TRUE, rngSeeds = NULL, rngState = NULL, treatName = NULL, treatNumber = NULL, treatRepPerRep = NULL, treatGroup = NULL, spatial = TRUE, rowColumn = TRUE, nuggetVar = 0.1, initialDesign = NULL, initialSwap = NULL, treatType = "FIXED", treatVarianceRatio = -1)
numberOfTreatments |
The number of treatments in the design. |
rowsInDesign |
The number of rows in the design. |
columnsInDesign |
The number of columns in the design. |
rowsInReplicate |
The number or rows in the template replicate block. |
columnsInReplicate |
The number of columns in the template replicate block. |
blockSequence |
Text 'default' or a list of three-number block definitions with each definition being rows in block, columns in block and block variance ratio. |
independentBlocks |
Size of blocks of correlated plots which must tile evenly within the design. |
maxInterchanges |
Number of treatment interchanges to test in each search phase. |
searchIntensity |
Percentage of possible interchanges to consider for non-improving interchanges. |
aType |
A |
targetAValue |
The search stops in each search phase when the A value is below this value. |
runSearch |
Logical value, whether to run the search immediately. |
rngSeeds |
Seeds c(s1,s2) to control the DiGGer search. s1 must be in the range [0,31328], s2 must be in the range [0,30081]. |
rngState |
Current state of the random number generator. |
treatName |
Vector of treatment names to be associated with the design numbers. |
treatNumber |
Vector of treatment numbers to be associated with the design numbers. |
treatRepPerRep |
Vector of replication levels for each treatment within each replicate template block. |
treatGroup |
Vector of group codes (up to 200 distinct values) associated with treatments. Group codes may be used to modify the A-efficiency measure in the optimisation. |
spatial |
If TRUE separable AR processes between rows and between columns are specified in the final DiGGer search phase. |
rowColumn |
If TRUE random rows, random columns and random error are specified in the final DiGGer search phase. |
nuggetVar |
Additional plot variance component. |
initialDesign |
A matrix |
initialSwap |
A dimension pair or a matrix |
treatType |
By default treatments are of "FIXED"
type. Treatments of "RANDOM" type require a
|
treatVarianceRatio |
A positive value is required for "RANDOM" treatment types, otherwise treatments are "FIXED". |
corDiGGer
constructs a framework for a DiGGer search for efficient
experimental designs.
A DiGGer search is conducted in a number of
search phases. Treatments are interchanged between experimental units
to improve an efficiency measure on the design. Initial phases set up
coarse blocking structures in the
absence of correlation. The efficient design found in a search phase is
carried forward to the next search phase for refinement. The final
search phase may adjust the location of treatments within blocks in the
presence of correlation.
Initialisation of a DiGGer design establishes an initialDesign
and an initialSwap
matrix.
If no initialDesign
is supplied the parameters,
numberOfTreatments
, rowsInDesign
, columnsInDesign
,
rowsInReplicate
, columnsInDesign
and
treatRepPerRep
, are used to generate an initial
design. If no initialSwap
matrix is supplied a matrix of 1s is
set up to allow all treatment plot interchanges within a replicate.
The blockSequence
code is actioned first. If
blockSequence='default'
and replicates are not in a two-dimensional array the default action is
to divide each design dimension into nearly equal blocks.
Alternatively, if a list of dimension pairs c(r,c)
is supplied
each pair sets up a DiGGer search with up to three block templates:
r
by columnsInDesign
, rowsInDesign
by c
and
the intersection r
by c
. The objectiveWeight
or
the blockVarianceRatio
generated is used to control the dominance
of the intersection blocks in the efficiency calculation of the search.
Subsequent elements in the list are used in the same way with the
possible swaps adjusted to respect the blocking that has already been
actioned.
The final search phase will optimise the spatial positioning of
treatments if spatial=TRUE
and will optimise random row, column
and error blocks if rowColumn=TRUE
. The independentBlocks
setting will determine the limits of the extent of correlation and
blocks in the search. Independent blocks must tile evenly across the
design with no missing values allowed.
If there is more than one treatGroup
code the search may
optimise comparisons between treatments in different treatment groups,
aType="Agg"
. If aType=NULL
the default code for equally
replicated treatments is "A++"
and for unequal replication it is
"Agg".
At this stage the framework for a DiGGer search has been created. If
runSearch=TRUE
the search is run immediately. Otherwise the
search may be modified using set
, add
and delete
methods associated with the search parameters and the run
function then used to run the search.
A DiGGer
search object.
ddphase |
A list with an element for each phase of the search.
An element is populated with
|
dlist |
A dataframe of the design after a search has been
|
Neil Coombes
Coombes, N.E. (2002) The Reactive Tabu Search for Efficient Correlated Experimental Designs. PhD Thesis, Liverpool John Moores University.
# Example of search run for 21 treatments # arranged in 21 rows by 3 columns # with replicates 21 rows by 1 column d21 <- corDiGGer(21, 21,3, 21,1)