asrtests.object
.Fits a new random model using asreml
by removing oldterms
and adding newterms
. If simpler = FALSE
the model to be fitted
must be more complex than the one whose fit has been stored in
asrtests.obj
. That is, the new model must have more parameters.
However, if simpler = TRUE
the model to be fitted must be simpler
than the one whose fit has been stored in asrtests.obj
in that it
must have fewer parameters. The test is a REML ratio test that is performed using
REMLRT.asreml
, which is only valid if the models are nested.
It compares the newly fitted model with the fit of the model in
asrtests.obj
. A row is added to the test.summary
data.frame
using the supplied label
. If the newly fitted model
is retained, any boundary terms are then removed using
rmboundary.asrtests
. If the models are not nested, then using
changeModelOnIC.asrtests
may be the more appropriate approach
for comparing models.
# S3 method for asrtests
testswapran(asrtests.obj, oldterms = NULL, newterms = NULL,
label = "Swap in random model", simpler = FALSE, alpha = 0.05,
allow.unconverged = TRUE, allow.fixedcorrelation = TRUE,
checkboundaryonly = FALSE,
positive.zero = FALSE, bound.test.parameters = "none",
bound.exclusions = c("F","B","S","C"), REMLDF = NULL,
denDF="numeric", IClikelihood = "none",
trace = FALSE, update = TRUE,
set.terms = NULL, ignore.suffices = TRUE,
bounds = "P", initial.values = NA, ...)
An asrtests.object
for a fitted model that is a list
containing the components (i) asreml.obj
, (ii) wald.tab
(iii) test.summary
.
If the term
is not in the model, then the supplied asreml
object will be returned. Also, reml.test
will have the likelihood
ratio and the p-value set to NA
and the degrees of freedom to zero.
Similarly, the row of test.summary
for the term
will have
its name, a p-value set to NA
, and action set to Absent.
an asrtests.object
for a fitted model that is a list
containing the components (i) asreml.obj
, (ii) wald.tab
(iii) test.summary
.
Terms, stored as a character
, that are to be removed from the
random model using asreml
. The names of the terms must
match those in the vparameters
component of the asreml.obj
component in asrtests.obj
. Note that
multiple terms specified using a single asreml::at
function
can only be dropped as a whole. If the term was specified using
an asreml::at
function with a single level, then it can be
removed and either the level itself or its numeric
position in the levels returned by the levels
function
can be specified.
Terms, stored as a character
, that are to be added to the
random model using asreml
.
A logical indicating whether the new model to be fitted. after the
changes made as a result of swapping oldterms
for
newterms
, is simpler than the already fitted model whose
fit is stored in asrtests.obj
.
The significance level for the test.
A logical
indicating whether to accept a new model
even when it does not converge. If FALSE
and the fit of the new
model does not converge, the supplied asrtests.obj
is returned.
Also, if FALSE
and the fit of the new model has converged, but that
of the old model has not, the new model will be accepted.
A logical
indicating whether to accept a new model
even when it contains correlations in the model whose values have been
designated as fixed, bound or singular. If FALSE
and the new model
contains correlations whose values have not been able to be estimated,
the supplied asrtests.obj
is returned. The fit in the
asreml.obj
component of the supplied asrtests.obj
will
also be tested and a warning issued if both fixed correlations are found
in it and allow.fixedcorrelation
is FALSE
.
If TRUE
then boundary and singular terms are not removed by
rmboundary.asrtests
; a warning is issued instead.
A character string to use as the label in test.summary
and
which indicates what is being tested.
Indicates whether the hypothesized values for the
variance components being tested are on the boundary
of the parameter space. For example, this is true
for positively-constrained variance components that,
under the reduced model, are zero. This argument does
not need to be set if bound.test.parameters
is set.
Indicates whether for the variance components
being tested, at least some of the hypothesized values
are on the boundary of the parameter space.
The possibilities are "none"
, "onlybound"
and "one-and-one"
. The default is "none"
,
although if it is set to "none"
and
positive.zero
is TRUE
then
bound.test.parameters
is taken to be "onlybound"
.
When bound.test.parameters
is set to
"one-and-one"
, it signifies that there are two
parameters being tested, one of which is bound and the
other is not. For example, the latter is true for testing
a covariance and a positively-constrained variance component
that, under the reduced model, are zero.
A character
specifying one or more bound (constraint) codes that
will result in a variance parameter being excluded from the count of
estimated variance parameters in using REMLRT.asreml
.
If set to NULL
then none will be excluded.
A numeric
giving the difference in the number of variance parameters
whose estimates are not of the type specified in bound.exclusions
for two models being compared in a REML ratio test using
REMLRT.asreml
. If NULL
then this is determined from
the information in the asreml
object for the two models.
Specifies the method to use in computing approximate denominator
degrees of freedom when wald.asreml
is called. Can be none
to suppress the computations, numeric
for numerical methods,
algebraic
for algebraic methods or default
, the default,
to automatically choose numeric or algebraic computations depending
on problem size. The denominator degrees of freedom are calculated
according to Kenward and Roger (1997) for fixed terms in the dense
part of the model.
A character
that controls both the occurrence and the type
of likelihood for information criterion in the test.summary
of the new asrtests.object
. If none
, none are
included. Otherwise, if REML
, then the AIC and BIC based
on the Restricted Maximum Likelihood are included; if full
,
then the AIC and BIC based on the full likelihood, evaluated
using REML estimates, are included.
(See also infoCriteria.asreml
.)
If TRUE then partial iteration details are displayed when ASReml-R functions are invoked; if FALSE then no output is displayed.
If TRUE
, and set.terms
is NULL
, then
newfit.asreml
is called to fit the model to be tested,
using the values of the variance parameters stored in
the asreml.object
, that is stored in asrtests.obj
, as starting values.
If FALSE
or set.terms
is not NULL
, then
newfit.asreml
will not use the stored variance parameter
values as starting values when fitting the new model, the only
modifications being (i) for the supplied oldterms
and
(ii) those specified via ...
.
A character vector specifying the terms that are to have
bounds and/or initial values set prior to fitting.
The names must match those in the vparameters
component
of the asreml.obj
component in the asrtests.object
.
A logical vector specifying whether the suffices of the
asreml
-assigned names of the variance terms (i.e. the
information to the right of an "!", other than "R!") is to
be ignored in matching elements of terms
.
If TRUE
for an element of terms
, the suffices
are stripped from the asreml
-assigned names.
If FALSE
for an element of terms
, the element
must exactly match an asreml
-assigned name for a
variance term. This vector must be of length one or the
same length as terms
. If it is of length one then
the same action is applied to the asreml
-assigned
suffices for all the terms in terms
.
A character
vector specifying the bounds to be applied
to the terms specified in set.terms
. This vector
must be of length one or the same length as set.terms
.
If it is of length one then the same constraint is
applied to all the terms in set.terms
.
If any of the bounds are equal to NA then they are
left unchanged for those terms.
A character vector specifying the initial values for
the terms specified in terms
. This vector
must be of length one or the same length as terms
.
If it is of length one then the same initial value is
applied to all the terms in terms
.
If any of the initial.values are equal to NA then they are
left unchanged for those terms.
Further arguments passed to asreml
, wald.asreml
and
as.asrtests
.
Chris Brien
Kenward, M. G., & Roger, J. H. (1997). Small sample inference for fixed effects from restricted maximum likelihood. Biometrics, 53, 983-997.
as.asrtests
, chooseModel.asrtests
,
REMLRT.asreml
, rmboundary.asrtests
,
newfit.asreml
, testresidual.asrtests
,
changeModelOnIC.asrtests
,
changeTerms.asrtests
, reparamSigDevn.asrtests
if (FALSE) {
current.asrt <- testswapran(current.asrt, oldterms = "str(~ Cart/xDays, ~us(2):id(184))",
newterms = "Cart/xDays", pos = FALSE,
label = "Intercept/Slope correlation",
simpler = TRUE)
print(current.asrt)
}
Run the code above in your browser using DataLab