redoErrorIntervals.alldiffs {asremlPlus} | R Documentation |
Adds or replaces the error intervals stored in a prediction component
of an alldiffs.object
.
Description
Given an alldiffs.object
, adds or replaces error.intervals
for its prediction
component. If the backtransforms
component is
present, the transform.power
, offset
and scale
will be
retrieved from the backtransforms
attributes, ignoring the values for the
function's arguments, and the backtransformed
error.intervals
will also be calculated.
Usage
## S3 method for class 'alldiffs'
redoErrorIntervals(alldiffs.obj, error.intervals = "Confidence",
alpha = 0.05,
avsed.tolerance = 0.25, accuracy.threshold = NA,
LSDtype = NULL, LSDsupplied = NULL,
LSDby = NULL, LSDstatistic = "mean",
LSDaccuracy = "maxAbsDeviation",
retain.zeroLSDs = FALSE,
zero.tolerance = .Machine$double.eps ^ 0.5, ...)
Arguments
alldiffs.obj |
An alldiffs.object .
|
error.intervals |
A character string indicating the type of error interval, if any,
to calculate in order to indicate uncertainty in the predicted values.
Possible values are "none" , "StandardError" , "Confidence"
and "halfLeastSignificant" . The default is for confidence limits to
be used. The "halfLeastSignificant" option results in half the
Least Significant Difference (LSD) being added and subtracted to the
predictions, the LSD being calculated using the square root of the mean of the
variances of all or a subset of pairwise differences between the predictions.
If the LSD is zero, as can happen when predictions are constrained to be equal,
then the limits of the error intervals are set to NA .
If LSDtype is set to overall , the avsed.tolerance is not
NA and the range of the SEDs divided by the average of the SEDs exceeds
avsed.tolerance then the error.intervals calculations and the plotting
will revert to confidence intervals.
|
alpha |
A numeric giving the significance level for LSDs or one minus
the confidence level for confidence intervals.
It is stored as an attribute to the alldiffs.object .
|
avsed.tolerance |
A numeric giving the value of the SED range, the range of the SEDs
divided by the square root of the mean of the variances of all or a subset of the
pairwise differences, that is considered reasonable in calculating
error.intervals . To have it ignored, set it to NA . It should be a
value between 0 and 1. The following rules apply:
If avsed.tolerance is NA then mean LSDs of the type specified by
LSDtype are calculated and used in error.intervals and plots.
Irrespective of the setting of LSDtype , if avsed.tolerance is not
exceeded then the mean LSDs are used in error.intervals and plots.
If LSDtype is set to overall , avsed.tolerance is not
NA , and avsed.tolerance is exceeded then error.intervals and
plotting revert to confidence intervals.
If LSDtype is set to factor.combinations and avsed.tolerance
is not exceeded for any factor combination then the half LSDs are
used in error.intervals and plots; otherwise, error.intervals and
plotting revert to confidence intervals.
If LSDtype is set to per.prediction and avsed.tolerance
is not exceeded for any prediction then the half LSDs are used in error.intervals
and plots; otherwise, error.intervals and plotting revert to confidence intervals.
|
accuracy.threshold |
A numeric specifying the value of the LSD accuracy measure,
which measure is specified by LSDaccuracy , as a threshold value in determining whether the
hallfLeastSignificant error.interval for a predicted value is a reasonable
approximation; this will be the case if the LSDs across all pairwise comparisons for which
the interval's LSD was computed, as specified by LSDtype and LSDby ,
are similar enough to the interval's LSD, as measured by LSDaccuracy .
If it is NA , it will be ignored. If it is
not NA , a column of logicals named LSDwarning will be added
to the predictions component of the alldiffs.object . The value of
LSDwarning for a predicted.value will be TRUE if the value of the
LSDaccuracy measure computed from the LSDs for differences between this
predicted.value and the other predicted.values as compared to its
assignedLSD exceeds the value of accuracy.threshold . Otherwise, the
value of LSDwarning for a predicted.value will be FALSE .
|
LSDtype |
A character string that can be overall , factor.combinations ,
per.prediction or supplied . It determines whether the values stored in a row
of a LSD.frame are the values calculated
(i) overall from the LSD values for all pairwise comparison2,
(ii) the values calculated from the pairwise LSDs for the levels of each
factor.combination , unless there is only one prediction for a level of the
factor.combination , when a notional LSD is calculated,
(iii) per.prediction , being based, for each prediction, on all pairwise differences
involving that prediction, or
(iv) as supplied values of the LSD, specified with the LSDsupplied argument;
these supplied values are to be placed in the assignedLSD column of the
LSD.frame stored in an alldiffs.object so that they can be used
in LSD calculations.
If LSDtype is NULL (the default), the LSDtype attribute of the
alldiffs.obj will be used; it is also NULL , then the LSDtype will
be set to overall .
See LSD.frame for further information on the values in a row of this
data.frame and how they are calculated.
|
LSDsupplied |
A data.frame or a named numeric containing a set of LSD
values that correspond to the observed combinations of the values of the LSDby variables
in the predictions.frame or a single LSD value that is an overall LSD.
If a data.frame , it may have (i) a column for the LSDby variable and a column
of LSD values or (ii) a single column of LSD values with rownames being the
combinations of the observed values of the LSDby variables. Any name can be used
for the column of LSD values; assignedLSD is sensible, but not obligatory. Otherwise,
a numeric containing the LSD values, each of which is named for the observed
combination of the values of the LSDby variables to which it corresponds. (Applying the
function dae::fac.combine to the predictions component is one way of
forming the required combinations for the (row) names.) The values supplied
will be incorporated into assignedLSD column of the LSD.frame stored as the
LSD component of the alldiffs.object .
|
LSDby |
A character (vector) of variables names, being the names of the
factors or numerics in the classify ; for each
combination of their levels and values, there will be or is a row in the LSD.frame
stored in the LSD component of the alldiffs.object when LSDtype is
factor.combinatons .
|
LSDstatistic |
A character nominating one or more of minimum , q10 , q25 ,
mean , median , q75 , q90 or maximum as the value(s) to be
stored in the assignedLSD column in an LSD.frame ; the values in the
assignedLSD column are used in computing halfLeastSignificant error.intervals .
Here q10 , q25 , q75 and q90 indicate the sample quantiles corresponding
to probabilities of 0.1, 0.25, 0.75 and 0.9 for the group of LSDs from which a single LSD value
is calculated. The function quantile is used to obtain them. The mean LSD is
calculated as the square root of the mean of the squares of the LSDs for the group. The
median is calculated using the median function. Multiple values are only
produced for LSDtype set to factor.combination , in which case LSDby must
not be NULL and the number of values must equal the number of observed combinations of
the values of the variables specified by LSDby . If LSDstatistic is NULL ,
it is reset to mean .
|
LSDaccuracy |
A character nominating one of maxAbsDeviation , maxDeviation ,
q90Deviation or RootMeanSqDeviation as the statistic to be calculated as a measure
of the accuracy of assignedLSD . The option q90Deviation produces the sample quantile
corresponding to a probability of 0.90. The deviations are the differences between the LSDs used in
calculating the LSD statistics and each assigned LSD and the accuracy is expressed as a
proportion of the assigned LSD value. The calculated values are stored in the column named
accuracyLSD in an LSD.frame .
|
retain.zeroLSDs |
A logical indicating whether to retain or omit LSDs that are zero when
calculating the summaries of LSDs.
|
zero.tolerance |
A numeric specifying the value such that if an LSD is less than it, the LSD will be
considered to be zero.
|
... |
further arguments passed to recalcLSD.alldiffs .
|
Value
An alldiffs.object
with components
predictions
, vcov
, differences
, p.differences
sed
, LSD
and, if present in alldiffs.obj
, backtransforms
.
If error.intervals
is not "none"
, then the
predictions
component and, if present, the
backtransforms
component will contain columns for the lower
and upper values of the limits for the interval. The names of these
columns will consist of three parts separated by full stops:
1) the first part will be lower
or upper
;
2) the second part will be one of Confidence
,
StandardError
or halfLeastSignificant
;
3) the third component will be limits
.
The name of the response
, the term
, the classify
and
tdf
, as well as the degrees of freedom of the standard error, will be set
as attributes to the object.
Also, if error.intervals
is "halfLeastSignificant"
, then those of
LSDtype
, LSDby
and LSDstatistic
that are not NULL
will be added as attributes of the object and of the predictions frame
;
additionally, LSDvalues
will be added as attribute of the
predictions frame
, LSDvalues
being the LSD values used in
calculating the error.intervals
.
Author(s)
Chris Brien
See Also
recalcLSD.alldiffs
, exploreLSDs.alldiffs
,
pickLSDstatistics.alldiffs
,
predictPresent.asreml
, plotPredictions.data.frame
,
allDifferences.data.frame
,
as.alldiffs
, print.alldiffs
, sort.alldiffs
,
subset.alldiffs
,
as.Date
, predict.asreml
Examples
data(WaterRunoff.dat)
##Use asreml to get predictions and associated statistics
## Not run:
asreml.options(keep.order = TRUE) #required for asreml-R4 only
current.asr <- asreml(fixed = pH ~ Benches + (Sources * (Type + Species)),
random = ~ Benches:MainPlots,
keep.order=TRUE, data= WaterRunoff.dat)
current.asrt <- as.asrtests(current.asr, NULL, NULL)
TS.diffs <- predictPlus(classify = "Sources:Type",
asreml.obj = current.asr,
wald.tab = current.asrt$wald.tab,
present = c("Sources", "Type", "Species"))
## End(Not run)
## Use lmeTest and emmmeans to get predictions and associated statistics
if (requireNamespace("lmerTest", quietly = TRUE) &
requireNamespace("emmeans", quietly = TRUE))
{
m1.lmer <- lmerTest::lmer(pH ~ Benches + (Sources * (Type + Species)) +
(1|Benches:MainPlots),
data=na.omit(WaterRunoff.dat))
TS.emm <- emmeans::emmeans(m1.lmer, specs = ~ Sources:Species)
TS.preds <- summary(TS.emm)
den.df <- min(TS.preds$df, na.rm = TRUE)
## Modify TS.preds to be compatible with a predictions.frame
TS.preds <- as.predictions.frame(TS.preds, predictions = "emmean",
se = "SE", interval.type = "CI",
interval.names = c("lower.CL", "upper.CL"))
## Form an all.diffs object and check its validity
TS.vcov <- vcov(TS.emm)
TS.diffs <- allDifferences(predictions = TS.preds,
classify = "Sources:Species",
vcov = TS.vcov, tdf = den.df)
validAlldiffs(TS.diffs)
}
## Plot p-values for predictions obtained using asreml or lmerTest
if (exists("TS.diffs"))
{
##Recalculate the LSD values for predictions obtained using asreml or lmerTest
TS.diffs <- redoErrorIntervals.alldiffs(TS.diffs,
error.intervals = "halfLeastSignificant")
}
[Package
asremlPlus version 4.4.35
Index]