corDiGGer {DiGGer}R Documentation

Function for a spatially adjusted incomplete block DiGGer design search.

Description

corDiGGer modifies a DiGGer object by optionally adding blocking search phases before a final spatial, row-column search phase.

Usage

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)

Arguments

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 DiGGer A-measure type: "A++", "Agg", "A22", "A11", "A1+", "Aa2" or "Aaa".

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 rowsInDesign by columnsInDesign giving design numbers in the initial design.

initialSwap

A dimension pair or a matrix rowsInDesign by columnsInDesign of swap codes. Only plots with the same swap code may have treatment interchanges during the DiGGer search.

treatType

By default treatments are of "FIXED" type. Treatments of "RANDOM" type require a TreatmentVarianceRatio.

treatVarianceRatio

A positive value is required for "RANDOM" treatment types, otherwise treatments are "FIXED".

Details

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.

Value

A DiGGer search object.

ddphase

A list with an element for each phase of the search. An element is populated with seeds, design, aMeasures and lastImprovement as each search phase is completed.

dlist

A dataframe of the design after a search has been run().

Author(s)

Neil Coombes

References

Coombes, N.E. (2002) The Reactive Tabu Search for Efficient Correlated Experimental Designs. PhD Thesis, Liverpool John Moores University.

Examples

# 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)

[Package DiGGer version 1.0.5 Index]