sig.devn.reparam.asrtests {asreml3Plus} | R Documentation |
devn.fac
to a fixed term and ensures that the same term, with
trend.num
replacing devn.fac
, is included if any
other term with trend.num
is included in terms
.This function reparamterizes each random (deviations) term involving
devn.fac
to a fixed term and ensures that the same term with
trend.num
replacing devn.fac
is included if any
other term with trend.num
is included in terms
. It also
ansures that any term with spl{trend.num}
replacing
devn.fac
in a term being reparameterized is removed from the model.
sig.devn.reparam.asrtests(terms = NULL, asrtests.obj, trend.num = NULL, devn.fac = NULL, allow.unconverged = TRUE, denDF = "default", trace = FALSE, update = TRUE, set.terms = NULL, ignore.suffices = TRUE, constraints = "P", initial.values = NA,...)
terms |
a character string vector giving the terms that are to be reparameterized. |
asrtests.obj |
an |
trend.num |
A character string giving the name of the numeric covariate that
corresponds to |
devn.fac |
A character string giving the name of the factor that corresponds to
|
allow.unconverged |
A |
denDF |
Specifies the enthod to use in computing approximate denominator
degrees of freedom when |
trace |
if TRUE then partial iteration details are displayed when ASReml-R functions are invoked; if FALSE then no output is displayed. |
update |
if |
set.terms |
a character vector specifying the terms that are to have constraints and/or initial values set prior to fitting. |
ignore.suffices |
a logical vector specifying whether the suffices of the
|
constraints |
a character vector specifying the constraints to be applied
to the terms specified in |
initial.values |
a character vector specifying the initial values for
the terms specified in |
... |
further arguments passed to |
An asrtests
object, which is a list containing:
asreml.obj
: an asreml
object containing the fit
of the model after all boundary and singular terms have been removed;
wald.tab
: a 4-column data.frame
containing a
pseudo-anova table for the fixed terms produced by wald.asreml
;
test.summary
: a data.frame
with columns term
,
DF
, denDF
, p
and action
. It contains a row for each term
that is dropped, added or tested or a note that several terms have been
added or removed.
asrtests
, addrm.terms.asrtests
,
testranfix.asrtests
, testrcov.asrtests
,
newfit.asreml
, choose.model.asrtests
## Not run: data(WaterRunoff.dat) current.asr <- asreml(fixed = log.Turbidity ~ Benches + Sources + Type + Species + Sources:Type + Sources:Species + Sources:Species:xDay + Sources:Species:Date, data = WaterRunoff.dat, keep.order = TRUE) current.asrt <- asrtests(current.asr, NULL, NULL) #Examine terms that describe just the interactions of Date and the treatment factors terms.treat <- c("Sources", "Type", "Species", "Sources:Type", "Sources:Species") date.terms <- sapply(terms.treat, FUN=function(term){paste("Date:",term,sep="")}, simplify=TRUE) date.terms <- c("Date", date.terms) date.terms <- unname(date.terms) treat.marginality <- matrix(c(1,0,0,0,0,0, 1,1,0,0,0,0, 1,0,1,0,0,0, 1,0,1,1,0,0, 1,1,1,0,1,0, 1,1,1,1,1,1), nrow=6) rownames(treat.marginality) <- date.terms colnames(treat.marginality) <- date.terms choose <- choose.model.asrtests(treat.marginality, current.asrt, denDF="algebraic") current.asrt <- choose$asrtests.obj current.asr <- current.asrt$asreml.obj sig.date.terms <- choose$sig.terms #Remove all Date terms left in the fixed model terms <- "(Date/(Sources * (Type + Species)))" current.asrt <- addrm.terms.asrtests(terms, current.asrt) #if there are significant date terms, reparameterize to xDays + spl(xDays) + Date if (length(sig.date.terms) != 0) { #add lin + spl + devn for each to fixed and random models trend.date.terms <- sapply(sig.date.terms, FUN=function(term){sub("Date","xDay",term)}, simplify=TRUE) trend.date.terms <- paste(trend.date.terms, collapse=" + ") current.asrt <- addrm.terms.asrtests(trend.date.terms, current.asrt, add=TRUE) trend.date.terms <- sapply(sig.date.terms, FUN=function(term){sub("Date","spl(xDay)",term)}, simplify=TRUE) trend.date.terms <- c(trend.date.terms, sig.date.terms) trend.date.terms <- paste(trend.date.terms, collapse=" + ") current.asrt <- addrm.terms.asrtests(trend.date.terms, current.asrt, add=TRUE, random=TRUE) current.asrt <- rmboundary.asrtests(current.asrt) } #Now test terms for sig date terms spl.terms <- sapply(terms.treat, FUN=function(term){paste("spl(xDay):",term,sep="")}, simplify=TRUE) spl.terms <- c("spl(xDay)",spl.terms) lin.terms <- sapply(terms.treat, FUN=function(term){paste(term,":xDay",sep="")}, simplify=TRUE) lin.terms <- c("xDay",lin.terms) systematic.terms <- c(terms.treat, lin.terms, spl.terms, date.terms) systematic.terms <- unname(systematic.terms) treat.marginality <- matrix(c(1,0,0,0,0,0, 1,1,0,0,0,0, 1,0,1,0,0,0, 1,0,1,1,0,0, 1,1,1,1,1,0, 1,1,1,1,1,1), nrow=6) systematic.marginality <- kronecker(matrix(c(1,0,0,0, 1,1,0,0, 1,1,1,0, 1,1,1,1), nrow=4), treat.marginality) systematic.marginality <- systematic.marginality[-1, -1] rownames(systematic.marginality) <- systematic.terms colnames(systematic.marginality) <- systematic.terms choose <- choose.model.asrtests(systematic.marginality, current.asrt, denDF="algebraic", pos=TRUE) current.asrt <- choose$asrtests.obj #Check if any deviations are significant and, for those that are, go back to #fixed dates current.asrt <- sig.devn.reparam.asrtests(choose$sig.terms, current.asrt, trend.num = "xDay", devn.fac = "Date", denDF = "algebraic") ## End(Not run)