| chooseModel.data.frame | R Documentation |
data.frame,
taking into account the marginality relations of terms and recording the tests used
in a data.frame.Uses the p.values from a set of hypothesis tests that are stored in
the supplied data.frame to choose a model to describe the effects of the
terms corresponding to the p-values, taking into account the hierarchy or marginality
of terms. In particular, a term will not be tested if it is marginal to (or nested in)
one that is significant. For example, if A:B is significant, then neither A nor B will
be tested. The tests used in choosing the selected model are listed in the
data.frame choose.summary.
No change is made to the p.values, the DF and denDF being for
information only.
## S3 method for class 'data.frame'
chooseModel(object, terms=NULL, p.values = "Pr",
DF = "Df", denDF = "denDF", omit.DF = FALSE,
terms.marginality=NULL, alpha = 0.05, ...)
object |
a |
terms |
A |
p.values |
A |
DF |
Can be a |
denDF |
Can be a |
omit.DF |
A |
terms.marginality |
A square matrix of ones and zeros with row and column names
being the names of the those terms in the |
alpha |
The significance level for the hypothesis testing. |
... |
Provision for passing arguments to functions called internally - not used at present. |
A list containing:
choose.summary: a data.frame summarizing
the tests carried out in choosing the significant terms;
provided omit.DF = FALSE, it has the same columns as a
test.summary from an asrtests.object
sig.tests: a character vector whose elements are the
significant terms amongst those tested.
Chris Brien
chooseModel, chooseModel.asrtests
data("Ladybird.dat")
## Use asreml to get the table of p-values
## Not run:
m1.asr <- asreml(logitP ~ Host*Cadavers*Ladybird,
random = ~ Run,
data = Ladybird.dat)
current.asrt <- as.asrtests(m1.asr)
fixed.tab <- current.asrt$wald.tab
col.p <- "Pr"
df = "Df"
den.df = "denDF"
## End(Not run)
## Use lmeTest to get the table of p-values
if (requireNamespace("lmerTest", quietly = TRUE) &
requireNamespace("emmeans", quietly = TRUE))
{
m1.lmer <- lmerTest::lmer(logitP ~ Host*Cadavers*Ladybird + (1|Run),
data=Ladybird.dat)
fixed.tab <- anova(m1.lmer, type = "II")
col.p <- "Pr(>F)"
df = "NumDF"
den.df = "DenDF"
}
## Select a model using the table of p-values obtained with either asreml or lmerTest
if (exists("fixed.tab"))
{
term.marg <- dae::marginality(dae::pstructure(~ Host*Cadavers*Ladybird,
data = Ladybird.dat))
chosen <- chooseModel(fixed.tab, p.values = col.p, DF = df, denDF = den.df,
terms.marginality = term.marg)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.