CRAN Task View: Design of Experiments (DoE) & Analysis of Experimental Data

Maintainer:Ulrike Groemping
Contact:groemping at tfh-berlin.de
Version:2008-03-26

This task view collects information on packages for experimental design and analysis of data from experiments. This is an early version of this task view, and it is likely that I have overlooked functionalities, so please feel free to suggest enhancements. Also, please send information on new packages or major package updates if you think they belong here. Contact details are given on my Web page .

There are a few packages for creating and analyzing experimental designs for general purposes: First of all, the standard (generalized) linear model functions in the base package stats are of course very important for analyzing data from designed experiments (especially functions lm(), aov() and the methods and functions for the resulting linear model objects). These are concisely explained in Kuhnert and Venables (2005, p. 109 ff.); Vikneswaran (2005) points out specific usages for experimental design (using function contrasts(), multiple comparison functions and some convenience functions like model.tables(), replications() and plot.design()). AlgDesign creates full factorial designs with or without additional quantitative variables, creates mixture designs (i.e., designs where the levels of factors sum to 1=100%) and creates D-, A-, or I-optimal designs exactly or approximately. conf.design allows to create a design with certain interaction effects confounded with blocks (function conf.design()) and allows to combine existing designs in several ways (e.g., useful for Taguchi's inner and outer array designs in industrial experimentation). blockTools assigns units to blocks in order to end up with homogeneous sets of blocks in case of too small block sizes.

Some further packages especially handle designs for industrial experiments that are often highly fractionated, intentionally confounded and have few extra degrees of freedom for error: BHH2 (function ffDesMatrix()) generates full and fractional factorial two-level-designs from a number of factors and a list of defining relations. It also provides several functions for analyzing data from such experiments: The function anovaPlot assesses effect sizes relative to residuals, and the function lambdaPlot() assesses the effect of Box-Cox transformations on statistical significance of effects. BsMD provides Bayesian charts as proposed by Box and Meyer (1986) as well as effects plots (normal, half-normal and Lenth) for assessing which effects are active in a fractional factorial experiment with 2-level factors. FrF2 provides a modified version of the normal and half-normal effects plots from BsMD. Furthermore, it provides main effects plots and interaction plot matrices similar to those in Minitab software and a cube plot for the combinations of three factors. Finally, it shows the alias structure for fractional factorials of 2-level factors in a human-reader friendly way.

Various further packages handle special situations in experimental design: lhs provides latin hypercube designs which are especially useful for computer experimentation whenever changing levels is cheap so that factors can have many different levels. Furthermore, the package provides ways to analyse such computer experiments with emphasis on what follow-up experiments to conduct. desirability provides ways to combine several target criteria into a desirability function in order to simplify multi-criteria analysis. experiment contains tools for clinical experiments, e.g., a randomization tool, and it provides a few special analysis options for clinical trials. ldDesign suggests appropriate designs for linkage equilibrium studies, qtlDesign offers designs for quantitative trait locus experiments. crossdes creates and analyses cross-over designs of various types (including latin squares, mutually orthogonal latin squares and Youden squares) that can for example be used in sensometrics. Package SensoMineR contains special designs for sensometric studies, e.g., for the triangle test.

References

CRAN packages:

Related links: