Forms the estimated variance (V), random (G) or (R) matrix
for the observations, a square symmetric matrix of order equal to the number of
observations. The estimates of the variance parameters and the information about
the random and residual models for which they were estimated are
obtained from the asreml object.
This function is not available in ASReml-R version 3.
# S3 method for asreml
estimateV(asreml.obj, which.matrix = "V",
extra.matrix = NULL, ignore.terms = NULL, fixed.spline.terms = NULL,
bound.exclusions = c("F","B","S","C"), ...)A matrix containing the estimated variance matrix. It has an attribute
missing.termmatrix (use attr(x, which = "missing.termmatrix") to access the
atrribute). It will be NULL, unless the design matrix could not be obtained for
one or more model terms. If is is not NULL, it will be a list of terms that could
not be produced for inclusion in the variance matrix estimate, and NA will be
returned for the estimated variance matrix.
An asreml object from a call to asreml in which the
data argument has been set.
A character giving the matrix that is to be formed. It must be
one of "V", to produce the variance matrix V = G + R,
"G" to produce the matrix G, corresponding to the random
formula, or "R" to produce the matrix R, corresponding to the
residual formula.
A matrix of order equal to the number of observations that is to
be added to the matrix specified by which.matrix, the latter based
on the information in asreml.obj. It is assumed that the sigma-parameterized
values of the variance parameter estimates, such as is given in the varcomp
component of summary.asreml, have been used in calculating
extra.matrix; the values in the vparameters component of
G.param and R.param may be either gamma- or sigma-parameterized.
The argument extra.matrix can be used in conjunction with
ignore.terms as a workaround to include components of the variance matrix
for variance functions that have not been implemented in estimateV.
A character giving terms from either the random or
residual models that are to be ignored in that their contributions to
the variance is not to be included in the estimated matrix. The term names are those
given in the vparameters component of the asreml object or the
varcomp component produced by summary.asreml, but only up to the
first exclamation mark (!). This can be used
in conjunction with estimateV.asreml as a workaround to include components
of the variance matrix for variance functions that have not been implemented
in estimateV.
A character vector giving one or more spline terms in the
random model that are regarded as fixed and so are to be ignored because
they are not regarded as contributing to the variance. The term names are those
given in the vparameters component of the asreml object or the
varcomp component produced by summary.asreml, but only up to the
first exclamation mark (!).
A character specifying one or more bound codes that
will result in a variance parameter in the random model being excluded
from contributing to the variance. If set to NULL then none will
be excluded.
Provision for passing arguments to functions called internally - not used at present.
Chris Brien
The information about the variance parameters in the fitted mixed model are obtained
from the G.param and R.param components of the asreml object. The
function can deal with the following variance functions in either the random or
residual models: id, diag, us, ar1, ar2,
ar3, sar,sar2, ma1, ma2, arma, exp,
gau, cor, corb and corg. All of these functions,
except us, can be combined with either v or h. It will also cope
with the following functions in the random model: at, str,
spl, dev, grp, fa and rr. Additionally, it can deal
with the function dsum in the residual model. For further information see
the ASReml-R User Guide Version 4 (Butler et al., 2023).
Butler, D. G., Cullis, B. R., Gilmour, A. R., Gogel, B. J. and Thompson, R. (2023). ASReml-R Reference Manual Version 4.2. VSN International Ltd, https://asreml.kb.vsni.co.uk/.
asreml, simulate.asreml, variofaces.asreml.
if (FALSE) {
data(Wheat.dat)
current.asr <- asreml(yield ~ Rep + WithinColPairs + Variety,
random = ~ Row + Column + units,
residual = ~ ar1(Row):ar1(Column),
data=Wheat.dat)
# Form variance matrix based on estimated variance parameters
V <- estimateV(current.asr)
}Run the code above in your browser using DataLab