variofaces.asreml {asremlPlus} | R Documentation |
Plots empirical variogram faces, including envelopes, as described by Stefanova, Smith & Cullis (2009).
Description
A function that produces a plot for each face of an empirical 2D
variogram
based on residuals produced after the fitting of a model
using the function asreml
.
It also adds envelopes to the plot by simulating data sets in parallel
from a multivariate normal distribution with expectation equal to the
fitted values obtained from the fixed and spline terms and variance
matrix equal to the fitted variance matrix
(Stefanova, Smith & Cullis, 2009). The plot is controlled by the
residual
model, which must consist of two factors corresponding to
the two physical dimensions underlying the data. It can also have a third
term involving the at
or dsum
function that defines sections
of the data, such as experiments in different environments.
In this case, the two variogram faces are produced for each section.
Usage
## S3 method for class 'asreml'
variofaces(asreml.obj, means=NULL, V=NULL,
sections = NULL, row.factor = NULL, col.factor = NULL,
nsim=100, seed = NULL,
extra.matrix = NULL, ignore.terms = NULL, fixed.spline.terms = NULL,
bound.exclusions = c("F","B","S","C"), tolerance=1E-10,
units = "ignore", update = TRUE, trace = FALSE,
graphics.device=NULL, ncores = 2, ...)
Arguments
asreml.obj |
An |
means |
The |
V |
The fitted variance |
sections |
A single |
row.factor |
A single |
col.factor |
A single |
nsim |
The number of data sets to be simulated in obtaining the envelopes. |
seed |
A single value, interpreted as an integer, that specifies the
starting value of the random number generator. The "L'Ecuyer-CMRG" random
generator is used and |
extra.matrix |
A |
ignore.terms |
A |
fixed.spline.terms |
A |
bound.exclusions |
A |
tolerance |
The value such that eigenvalues less than it are considered to be zero. |
units |
A |
update |
If |
trace |
If TRUE then partial iteration details are displayed when ASReml-R functions are invoked; if FALSE then no output is displayed. |
graphics.device |
A |
ncores |
A |
... |
Other arguments that are passed down to the function |
Details
The residual
model is scanned to ensure that it involves only two factors
not included in the at
function, and to see if it has a third factor in
an at
function. If so, the faces of the 2D variogram, each based on one
of the two non-at
factors, are derived from the residuals in the
supplied asreml
object using asreml.variogram
, this yielding the observed
variogram
faces. If aom
was set to TRUE
for the asreml
object, the standardized conditional residuals are used.
Then nsim
data sets are generated by
adding the fitted.values
, extracted from the asreml
object,
to a vector of values randomly generated from a normal distribution with
expectation zero and variance matrix V
. Each data set is analyzed
using the model in object
and several sets are generated and analyzed
in parallel. The variogram values for the faces are
obtained using asreml.variogram
stored. Note, if the analysis for a
data set does not converge in maxiter
iterations, it is discarded and
a replacement data set generated. The value of maxiter
can be specified
in the call to variofaces.asreml
. Plots are produced for each face and
include the observed values and the 2.5%, 50% & 97.5% quantiles.
Value
A list
with the following components:
face1: a
data.frame
containing the variogram values on which the plot for the first dimension is based.face2: a
data.frame
containing the variogram values on which the plot for the second dimension is based.
Author(s)
Chris Brien
References
Stefanova, K. T., Smith, A. B. & Cullis, B. R. (2009) Enhanced diagnostics for the spatial analysis of field trials. Journal of Agricultural, Biological, and Environmental Statistics, 14, 392–410.
See Also
asremlPlus-package
, asreml
, newfit.asreml
,
plotVariofaces.data.frame
, simulate.asreml
, set.seed
.
Examples
## Not run:
data(Wheat.dat)
current.asr <- asreml(yield ~ Rep + WithinColPairs + Variety,
random = ~ Row + Column + units,
residual = ~ ar1(Row):ar1(Column),
data=Wheat.dat)
current.asrt <- as.asrtests(current.asr, NULL, NULL)
current.asrt <- rmboundary.asrtests(current.asrt)
# Form variance matrix based on estimated variance parameters
s2 <- current.asr$sigma2
gamma.Row <- current.asr$gammas[1]
gamma.unit <- current.asr$gammas[2]
rho.r <- current.asr$gammas[4]
rho.c <- current.asr$gammas[5]
row.ar1 <- mat.ar1(order=10, rho=rho.r)
col.ar1 <- mat.ar1(order=15, rho=rho.c)
V <- gamma.Row * fac.sumop(Wheat.dat$Row) +
gamma.unit * diag(1, nrow=150, ncol=150) +
mat.dirprod(col.ar1, row.ar1)
V <- s2*V
#Produce variogram faces plot (Stefanaova et al, 2009)
variofaces(current.asr, V=V, ncores = parallel::detectCores())
## End(Not run)