Skip to contents

Calculate multiplicity adjusted p-values for a maximum contrast test corresponding to a set of contrasts and given a set of observed test statistics. This function is exported as it may be a useful building block and used in more complex testing situations that are not covered by MCTtest. Most users probably don't need to use this function.

Usage

MCTpval(
  contMat,
  corMat,
  df,
  tStat,
  alternative = c("one.sided", "two.sided"),
  control = mvtnorm.control()
)

Arguments

contMat

Contrast matrix to use. The individual contrasts should be saved in the columns of the matrix

corMat

Correlation matrix of contrasts

df

Degrees of freedom to use for calculation.

tStat

Vector of contrast test statistics

alternative

Character determining the alternative for the multiple contrast trend test.

control

A list specifying additional control parameters for the qmvt and pmvt calls in the code, see also mvtnorm.control for details.

Value

Numeric containing the calculated p-values.

References

Pinheiro, J. C., Bornkamp, B., and Bretz, F. (2006). Design and analysis of dose finding studies combining multiple comparisons and modeling procedures, Journal of Biopharmaceutical Statistics, 16, 639–656

See also

Author

Bjoern Bornkamp

Examples

data(biom)
## define shapes for which to calculate optimal contrasts
modlist <- Mods(emax = 0.05, linear = NULL, logistic = c(0.5, 0.1),
                linInt = c(0, 1, 1, 1), doses = c(0, 0.05, 0.2, 0.6, 1))
contMat <- optContr(modlist, w=1)$contMat
## calculate inputs needed for MCTpval
fit <- lm(resp~factor(dose)-1, data=biom)
est <- coef(fit)
vc <- vcov(fit)
ct <- as.vector(est %*% contMat)
covMat <- t(contMat) %*% vc %*% contMat
den <- sqrt(diag(covMat))
tStat <- ct/den
corMat <- cov2cor(t(contMat) %*% vc %*% contMat)
MCTpval(contMat, corMat, df=100-5, tStat)
#> [1] 0.001250101 0.004534531 0.007129837 0.001111040
## compare to
test <- MCTtest(dose, resp, biom, models=modlist)
attr(test$tStat, "pVal")
#> [1] 0.001434951 0.004199712 0.007229986 0.001094310