alldiffs.object {asremlPlus}R Documentation

Description of an alldiffs object


An object of S3-class alldiffs that that stores the predictions for a model, along with supplied statistics for all pairwise differences. While alldiffs.object can be constructed by defining a list with the appropriate components, it can be formed by passing the components to as.alldiffs, or from a predictions data.frame using

as.alldiffs is function that assembles an object of this class from supplied components.

is.alldiffs is the membership function for this class; it tests that an object is of class alldiffs.

validAlldiffs(object) can be used to test the validity of an object with this class. is the function that constructs an object of this class by calculating components from statistics supplied via its arguments and then using as.alldiffs to make the object.


A list of class alldiffs containing the following components: predictions, vcov, differences, p.differences, sed, LSD and backtransforms. Except for predictions, the components are optional and can be set to NULL.

An alldiffs.object also has attributes response, response.title, term, classify, tdf, sortFactor and sortOrder, which may be set to NULL.

The details of the components are as follows:

  1. predictions: A predictions.frame, being a data.frame beginning with the variables classifying the predictions, in the same order as in the classify, and also containing columns named predicted.value, standard.error and est.status; each row contains a single predicted value. The number of rows should equal the number of unique combinations of the classify variables and will be in standard order for the classify variables. That is, the values of the last variable change with every row, those of the second-last variable only change after all the values of the last variable have been traversed; in general, the values of a variable are the same for all the combinations of the values to the variables to its right in the classify.

    The data.frame may also include columns for the lower and upper values of error intervals, either standard error, confidence or half-LSD intervals. 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.

    Note that the names standard.error and est.status have been changed to std.error and status in the pvals component produced by asreml-R4; if the new names are in the data.frame supplied to predictions, they will be returned to the previous names.

  2. differencesA matrix containing all pairwise differences between the predictions; it should have the same number of rows and columns as there are rows in predictions.

  3. p.differences: A matrix containing p-values for all pairwise differences between the predictions; each p-value is computed as the probability of a t-statistic as large as or larger than the observed difference divided by its standard error. The degrees of freedom of the t distribution for computing it are computed as the denominator degrees of freedom of the F value for the fixed term, if available; otherwise, the degrees of freedom stored in the attribute tdf are used; the matrix should be of the same size as that for differences.

  4. sed: A matrix containing the standard errors of all pairwise differences between the predictions; they are used in computing the p-values in p.differences.

  5. vcov: A matrix containing the variance matrix of the predictions; it is used in computing the variance of linear transformations of the predictions.

  6. LSD: A data.frame containing the mean, minimum and maximum LSD for determining the significance of pairwise differences, the mean LSD being calculated using the square root of the mean of the variances of pairwise differences. If factor.combination was specified for meanLSD.type when the LSDs were being calculated, then LSD contains an LSD for each factor.combination of the factors specified by LSDby. Each LSD is calculated from the square root of the mean of the variances for all pairwise differences for each factor combination, unless there is only one prediction for a factor.combination, when notional LSDs are calculated that are based on the standard error of the prediction multiplied by the square root of two. If LSD is not NULL then the overall mean LSD will be added as an attribute named meanLSD of the alldiffs.object, as will the values of meanLSD.type and LSDby. The LSD for a single prediction assumes that any predictions to be compared are independent; this is not the case if residual errors are correlated.

  7. backtransforms: When the response values have been transformed for analysis, a data.frame containing the backtransformed values of the predicted values is added to the alldiffs.object. This data.frame is consistent with the predictions component, except that the column named predicted.value is replaced by one called backtransformed.predictions. Any error.interval values will also be the backtransformed values. Each row contains a single predicted value.

The details of the attributes of an alldiffs.object are:

  1. response: A character specifying the response variable for the predictions.

  2. response.title: A character specifying the title for the response variable for the predictions.

  3. term: A character string giving the variables that define the term that was fitted using asreml and that corresponds to classify. It is often the same as classify.

  4. classify: A character string giving the variables that define the margins of the multiway table used in the prediction. Multiway tables are specified by forming an interaction type term from the classifying variables, that is, separating the variable names with the : operator.

  5. tdf: An integer specifying the degrees of freedom of the standard error. It is used as the degrees of freedom for the t-distribution on which p-values and confidence intervals are based.

  6. meanLSD: If the LSD component is not NULL then the mean LSD is added as an attribute, calculated using the square root of the mean of the variances of pairwise differences.

  7. meanLSD.type: If the LSD component is not NULL then meanLSD.type is added as an attribute.

  8. LSDby: If the LSD component is not NULL then LSDby is added as an attribute.

  9. sortFactor: A character containing the name of the factor that indexes the set of predicted values that determined the sorting of the components.

  10. sortOrder: A character vector that is the same length as the number of levels for sortFactor in the predictions component of the alldiffs.object. It specifies the order of the levels in the reordered components of the alldiffs.object.

    The following creates a sortOrder vector levs for factor f based on the values in x:
    levs <- levels(f)[order(x)].

See predictPlus.asreml for more information.


Chris Brien

See Also

is.alldiffs, as.alldiffs, validAlldiffs,



  ## Use asreml to get predictions and associated statistics

  ## Not run: 
  m1.asr <- asreml(Yield ~ Nitrogen*Variety, 
  current.asrt <- as.asrtests(m1.asr)
  Var.pred <- asreml::predict.asreml(m1.asr, classify="Nitrogen:Variety", 
  if (getASRemlVersionLoaded(nchar = 1) == "3")
    Var.pred <- Var.pred$predictions
  Var.preds <- Var.pred$pvals
  Var.sed <- Var.pred$sed
  Var.vcov <- NULL
## End(Not run)
  ## Use lmerTest and emmmeans to get predictions and associated statistics
  if (requireNamespace("lmerTest", quietly = TRUE) & 
      requireNamespace("emmeans", quietly = TRUE))
    m1.lmer <- lmerTest::lmer(Yield ~ Nitrogen*Variety + (1|Blocks/Wplots),
    Var.emm <- emmeans::emmeans(m1.lmer, specs = ~ Nitrogen:Variety)
    Var.preds <- summary(Var.emm)
    den.df <- min(Var.preds$df)
    ## Modify Var.preds to be compatible with a predictions.frame
    Var.preds <- as.predictions.frame(Var.preds, predictions = "emmean", 
                                      se = "SE", interval.type = "CI", 
                                      interval.names = c("lower.CL", "upper.CL"))
    Var.vcov <- vcov(Var.emm)
    Var.sed <- NULL

  ## Use the predictions obtained with either asreml or lmerTest
  if (exists("Var.preds"))
    ## Form an all.diffs object
     Var.diffs <- as.alldiffs(predictions = Var.preds, classify = "Nitrogen:Variety", 
                              sed = Var.sed, vcov = Var.vcov, tdf = den.df)

    ## Check the class and validity of the alldiffs object

[Package asremlPlus version 4.2-32 Index]