Learn R Programming

multcomp (version 1.4-17)

glht-methods: Methods for General Linear Hypotheses

Description

Simultaneous tests and confidence intervals for general linear hypotheses.

Usage

# S3 method for glht
summary(object, test = adjusted(), ...)
# S3 method for glht
confint(object, parm, level = 0.95, calpha = adjusted_calpha(), 
        ...)
# S3 method for glht
coef(object, rhs = FALSE, ...)
# S3 method for glht
vcov(object, ...)
# S3 method for confint.glht
plot(x, xlim, xlab, ylim, ...)
# S3 method for glht
plot(x, ...)
univariate()
adjusted(type = c("single-step", "Shaffer", "Westfall", "free", 
         p.adjust.methods), ...)
Ftest()
Chisqtest()
adjusted_calpha(...)
univariate_calpha(...)

Arguments

object

an object of class glht.

test

a function for computing p values.

parm

additional parameters, currently ignored.

level

the confidence level required.

calpha

either a function computing the critical value or the critical value itself.

rhs

logical, indicating whether the linear function \(K \hat{\theta}\) or the right hand side \(m\) (rhs = TRUE) of the linear hypothesis should be returned.

type

the multiplicity adjustment (adjusted) to be applied. See below and p.adjust.

x

an object of class glht or confint.glht.

xlim

the x limits (x1, x2) of the plot.

ylim

the y limits of the plot.

xlab

a label for the x axis.

...

additional arguments, such as maxpts, abseps or releps to pmvnorm in adjusted or qmvnorm in confint. Note that additional arguments specified to summary, confint, coef and vcov methods are currently ignored.

Value

summary computes (adjusted) p values for general linear hypotheses, confint computes (adjusted) confidence intervals. coef returns estimates of the linear function \(K \theta\) and vcov its covariance.

Details

The methods for general linear hypotheses as described by objects returned by glht can be used to actually test the global null hypothesis, each of the partial hypotheses and for simultaneous confidence intervals for the linear function \(K \theta\).

The coef and vcov methods compute the linear function \(K \hat{\theta}\) and its covariance, respectively.

The test argument to summary takes a function specifying the type of test to be applied. Classical Chisq (Wald test) or F statistics for testing the global hypothesis \(H_0\) are implemented in functions Chisqtest and Ftest. Several approaches to multiplicity adjusted p values for each of the linear hypotheses are implemented in function adjusted. The type argument to adjusted specifies the method to be applied: "single-step" implements adjusted p values based on the joint normal or t distribution of the linear function, and "Shaffer" and "Westfall" implement logically constraint multiplicity adjustments (Shaffer, 1986; Westfall, 1997). "free" implements multiple testing procedures under free combinations (Westfall et al, 1999). In addition, all adjustment methods implemented in p.adjust are available as well.

Simultaneous confidence intervals for linear functions can be computed using method confint. Univariate confidence intervals can be computed by specifying calpha = univariate_calpha() to confint. The critical value can directly be specified as a scalar to calpha as well. Note that plot(a) for some object a of class glht is equivalent to plot(confint(a)).

All simultaneous inference procedures implemented here control the family-wise error rate (FWER). Multivariate normal and t distributions, the latter one only for models of class lm, are evaluated using the procedures implemented in package mvtnorm. Note that the default procedure is stochastic. Reproducible p-values and confidence intervals require appropriate settings of seeds.

A more detailed description of the underlying methodology is available from Hothorn et al. (2008) and Bretz et al. (2010).

References

Frank Bretz, Torsten Hothorn and Peter Westfall (2010), Multiple Comparisons Using R, CRC Press, Boca Raton.

Juliet P. Shaffer (1986), Modified sequentially rejective multiple test procedures. Journal of the American Statistical Association, 81, 826--831.

Peter H. Westfall (1997), Multiple testing of general contrasts using logical constraints and correlations. Journal of the American Statistical Association, 92, 299--306.

P. H. Westfall, R. D. Tobias, D. Rom, R. D. Wolfinger, Y. Hochberg (1999). Multiple Comparisons and Multiple Tests Using the SAS System. Cary, NC: SAS Institute Inc.

Torsten Hothorn, Frank Bretz and Peter Westfall (2008), Simultaneous Inference in General Parametric Models. Biometrical Journal, 50(3), 346--363; See vignette("generalsiminf", package = "multcomp").

Examples

Run this code
# NOT RUN {
  ### set up a two-way ANOVA 
  amod <- aov(breaks ~ wool + tension, data = warpbreaks)

  ### set up all-pair comparisons for factor `tension'
  wht <- glht(amod, linfct = mcp(tension = "Tukey"))

  ### 95% simultaneous confidence intervals
  plot(print(confint(wht)))

  ### the same (for balanced designs only)
  TukeyHSD(amod, "tension")

  ### corresponding adjusted p values
  summary(wht)

  ### all means for levels of `tension'
  amod <- aov(breaks ~ tension, data = warpbreaks)
  glht(amod, linfct = matrix(c(1, 0, 0, 
                               1, 1, 0, 
                               1, 0, 1), byrow = TRUE, ncol = 3))

  ### confidence bands for a simple linear model, `cars' data
  plot(cars, xlab = "Speed (mph)", ylab = "Stopping distance (ft)",
       las = 1)

  ### fit linear model and add regression line to plot
  lmod <- lm(dist ~ speed, data = cars)
  abline(lmod)

  ### a grid of speeds
  speeds <- seq(from = min(cars$speed), to = max(cars$speed), 
                length = 10)

  ### linear hypotheses: 10 selected points on the regression line != 0
  K <- cbind(1, speeds)                                                        

  ### set up linear hypotheses
  cht <- glht(lmod, linfct = K)

  ### confidence intervals, i.e., confidence bands, and add them plot
  cci <- confint(cht)
  lines(speeds, cci$confint[,"lwr"], col = "blue")
  lines(speeds, cci$confint[,"upr"], col = "blue")


  ### simultaneous p values for parameters in a Cox model
  if (require("survival") && require("MASS")) {
      data("leuk", package = "MASS")
      leuk.cox <- coxph(Surv(time) ~ ag + log(wbc), data = leuk)

      ### set up linear hypotheses
      lht <- glht(leuk.cox, linfct = diag(length(coef(leuk.cox))))

      ### adjusted p values
      print(summary(lht))
  }

# }

Run the code above in your browser using DataLab