SimTestDiff function

Simultaneous Tests for General Contrasts (Differences) of Means of Multiple Endpoints

Simultaneous Tests for General Contrasts (Differences) of Means of Multiple Endpoints

Simultaneous tests for general contrasts (linear functions) of normal means (e.g., "Dunnett", "Tukey", "Williams" ect.), and for single or multiple endpoints (primary response variables) simultaneously. The procedure of Hasler and Hothorn (2011) doi:10.2202/1557-4679.1258 is applied for differences of means of normally distributed data. The variances/ covariance matrices of the treatment groups (containing the covariances between the endpoints) may be assumed to be equal or possibly unequal for the different groups (Hasler, 2014 doi:10.1515/ijb-2012-0015). For the case of only a single endpoint and unequal covariance matrices (variances), the procedure coincides with the PI procedure of Hasler and Hothorn (2008) doi:10.1002/bimj.200710466.

## Default S3 method: SimTestDiff(data, grp, resp = NULL, na.action = "na.error", type = "Dunnett", base = 1, ContrastMat = NULL, alternative = "two.sided", Margin = 0, covar.equal = FALSE, CorrMatDat = NULL, ...) ## S3 method for class 'formula' SimTestDiff(formula, ...)

Arguments

  • data: a data frame containing a grouping variable and the endpoints as columns

  • grp: a character string with the name of the grouping variable

  • resp: a vector of character strings with the names of the endpoints; if resp=NULL (default), all column names of the data frame without the grouping variable are chosen automatically

  • formula: a formula specifying a numerical response and a grouping factor (e.g. response ~ treatment )

  • na.action: a character string indicating what should happen when the data contain NAs; if na.action="na.error" (default) the procedure stops with an error message; if na.action="multi.df" multiple marginal degrees of freedom are used to adjust for the missing values problem

  • type: a character string, defining the type of contrast, with the following options:

    • "Dunnett": many-to-one comparisons
    • "Tukey": all-pair comparisons
    • "Sequen": comparisons of consecutive groups
    • "AVE": comparison of each group with average of all others
    • "GrandMean": comparison of each group with grand mean of all groups
    • "Changepoint": differences of averages of groups of higher order to averages of groups of lower order
    • "Marcus": Marcus contrasts
    • "McDermott": McDermott contrasts
    • "Williams": Williams trend tests
    • "UmbrellaWilliams": Umbrella-protected Williams trend tests

    note that type is ignored if ContrastMatis specified by the user (see below)

  • base: a single integer specifying the control group for Dunnett contrasts, ignored otherwise

  • ContrastMat: a contrast matrix, where columns correspond to groups and rows correspond to contrasts

  • alternative: a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater"

    or "less"

  • Margin: a single numeric value, or a numeric vector corresponding to endpoints, or a matrix where columns correspond to endpoints and rows correspond to contrasts

  • covar.equal: a logical variable indicating whether to treat the variances/ covariance matrices of the treatment groups (containing the covariances between the endpoints) as being equal; if TRUE then the pooled variance/ covariance matrix is used, otherwise the Satterthwaite approximation to the degrees of freedom is used

  • CorrMatDat: a correlation matrix of the endpoints, if NULL (default) it is estimated from the data

  • ...: arguments to be passed to SimTestDiff.default

Details

The interest is in simultaneous tests for several linear combinations (contrasts) of treatment means in a one-way ANOVA model, and for single or multiple endpoints simultaneously. For example, the all-pair comparison of Tukey (1953) and the many- to-one comparison of Dunnett (1955) are implemented, but allowing for heteroscedasticity and multiple endpoints. The user is also free to create other interesting problem-specific contrasts. Approximate multivariate t- distributions are used to calculate (adjusted) p-values (Hasler and Hothorn, 2011 doi:10.2202/1557-4679.1258). This approach controls the familywise error rate in admissible ranges and in the strong sense. The variances/ covariance matrices of the treatment groups (containing the covariances between the endpoints) can be assumed to be equal (covar.equal=TRUE) or unequal (covar.equal=FALSE). If being equal, the pooled variance/ covariance matrix is used, otherwise approximations to the degrees of freedom (Satterthwaite, 1946) are used (Hasler, 2014 doi:10.1515/ijb-2012-0015; Hasler and Hothorn, 2008 doi:10.1002/bimj.200710466). Unequal covariance matrices occure if variances or correlations of some endpoints differ depending on the treatment groups.

Returns

An object of class SimTest containing: - estimate: a matrix of estimated differences

  • statistic: a matrix of the calculated test statistics

  • p.val.raw: a matrix of raw p-values

  • p.val.adj: a matrix of p-values adjusted for multiplicity

  • CorrMatDat: if not prespecified by CorrMatDat, either the estimated common correlation matrix of the endpoints (covar.equal=TRUE) or a list of different (one for each treatment) estimated correlation matrices of the endpoints (covar.equal=FALSE)

  • CorrMatComp: the estimated correlation matrix of the comparisons

  • degr.fr: a matrix of degrees of freedom

Note

By default (na.action="na.error"), the procedure stops if there are missing values. For na.action="multi.df", multiple degrees of freedom are applied according to Hasler and Hothorn (2018). If covar.equal=TRUE, the number of endpoints must not be greater than the total sample size minus the number of treatment groups. If covar.equal=FALSE, the number of endpoints must not be greater than the minimal sample size minus 1. Otherwise the procedure stops.

All hypotheses are tested with the same test direction for all comparisons and endpoints (alternative="..."). In case of doubt, use "two.sided".

If Margin is a single numeric value or a numeric vector, then the same value(s) are used for the remaining comparisons or endpoints.

References

Hasler, M. and Hothorn, L.A. (2018): Multi-arm trials with multiple primary endpoints and missing values. Statistics in Medicine 37, 710--721, doi:10.1002/sim.7542.

Hasler, M. (2014): Multiple contrast tests for multiple endpoints in the presence of heteroscedasticity. The International Journal of Biostatistics 10, 17--28, doi:10.1515/ijb-2012-0015.

Hasler, M. and Hothorn, L.A. (2011): A Dunnett-type procedure for multiple endpoints. The International Journal of Biostatistics 7, Article 3, doi:10.2202/1557-4679.1258.

Hasler, M. and Hothorn, L.A. (2008): Multiple contrast tests in the presence of heteroscedasticity. Biometrical Journal 50, 793--800, doi:10.1002/bimj.200710466.

Author(s)

Mario Hasler

See Also

SimCiDiff, SimTestRat, SimCiRat

Examples

# Example 1: # A comparison of the groups B and H against the standard S, for endpoint # Thromb.count, assuming unequal variances for the groups. This is an # extension of the well-known Dunnett-test to the case of heteroscedasticity. data(coagulation) comp1 <- SimTestDiff(data=coagulation, grp="Group", resp="Thromb.count", type="Dunnett", base=3, alternative="greater", covar.equal=FALSE) comp1 # Example 2: # A comparison of the groups B and H against the standard S, simultaneously # for all endpoints, assuming unequal covariance matrices for the groups. This is # an extension of the well-known Dunnett-test to the case of heteroscedasticity # and multiple endpoints. data(coagulation) comp2 <- SimTestDiff(data=coagulation, grp="Group", resp=c("Thromb.count","ADP","TRAP"), type="Dunnett", base=3, alternative="greater", covar.equal=FALSE) summary(comp2)
  • Maintainer: Mario Hasler
  • License: GPL
  • Last published: 2025-04-04

Useful links