`varComp.control`

provides detailed control of model fitting for `varComp`

. `nlminb.control`

provides detailed control of the optimization procedure. `informationTypes`

is a character vector containing the types of information matrices.

1 2 3 4 5 6 7 8 | ```
varComp.control(verbose = FALSE, start = NULL, REML = TRUE,
information = informationTypes, boundary.eps = 5e-04,
nlminb = nlminb.control(iter.max = 200L, eval.max = 500L),
plot.it = FALSE, keepXYK = TRUE)
nlminb.control(eval.max = 200L, iter.max = 150L, trace = 0L, abs.tol = 0,
rel.tol = 1e-10, x.tol = 1.5e-08, xf.tol = 2.2e-14, step.min = 1,
step.max = 1, sing.tol = rel.tol, ...)
informationTypes
``` |

`verbose` |
A logical scalar, indicating whether excessive messages are printed. |

`start` |
An optional numeric vector of starting values for the ratio of variance components to the error variance. If missing, |

`REML` |
A logical scalar. Currently, only |

`information` |
A character vector (only the first element will be used) specifying the information matrix to be used during optimization. Available choices are given in |

`boundary.eps` |
A small positive number. If the parameter estimates fall below this number, additional checking will be performed to examine if the parameter estimate hits the lower boundary (0) of the parameter space. |

`nlminb` |
A list of arguments to be passed to |

`plot.it` |
A logical scalar, indicating whether the profiled REML function is plotted around the fitted maximum. This is only effective when the number of variance component is one (not counting the error variance). |

`keepXYK` |
A logical scalar, indicating whether the fixed-effect design matrix ( |

`eval.max, iter.max, trace, abs.tol, rel.tol, x.tol, xf.tol, step.min, step.max, sing.tol, ...` |
The same as in |

The objective function is always the profiled restricted log likelihood function, where the error variance is profiled out from the REML function. The parameterization being used is the ratio of each variance component to the error variance. Non-negativity constraints are imposed on such ratios.

The `information`

argument specifies the (approximate) Hessian matrix to be used during optimization. Available choices are `"EI"`

(expected information), `"OI"`

(observed information), `"AEI"`

(approximate expected information), `"AOI"`

(approximate observed information), and `"WAI"`

(weighted average information). The approximate versions of `"EI"`

and `"OI"`

replace the more computationally demanding trace terms by their realized counter-parts that are unbiased for the trace, and the `"WAI"`

is similar to the average-information of Gilmour (1995) that cancels such terms, except that the latter reference is based on unprofiled REML function rather than profiled REML. The choice of information only affects the speed and the stability of fitting. As long as the objective function is well behaved, the parameter estimates should not be affected by which information matrix is used during fitting.

Both `varComp.control`

and `nlminb.control`

are simply a wrapper of the input arguments.

A named list of the input arguments.

Setting `iter.max=0L`

is a trick to get residual contrast and working correlation matrices computed, but not fitting the models completely.

Long Qu

Arthur R. Gilmour, Robin Thompson, Brian R. Cullis (1995) Average Information REML: An Efficient Algorithm for Variance Parameter Estimation in Linear Mixed Models. *Biometrisc* 51, 1440–1450.

Qu L, Guennel T, Marshall SL. (2013) Linear Score Tests for Variance Components in Linear Mixed Models and Applications to Genetic Association Studies. *Biometrics*, Volume 69, Issue 4, pages 883–892.

`varComp`

1 2 3 4 5 6 7 8 9 10 11 12 | ```
library(nlme)
data(Oxide)
## Using fisher scoring algorithm:
varComp(Thickness~Source, Oxide, ~Lot/Wafer,
control=varComp.control(information='EI'))
## Using Newton-Raphson algorithm:
varComp(Thickness~Source, Oxide, ~Lot/Wafer,
control=varComp.control(information='OI'))
## Computing MINQUE0, residual contrasts, and marginal correlations of residual contrasts
varComp(Thickness~Source, Oxide, ~Lot/Wafer,
control=varComp.control(nlminb=nlminb.control(iter.max=0L)))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.