Simultaneous Inference in General Parametric Models

Simultaneous tests and confidence intervals for general linear hypotheses in parametric models, including linear, generalized linear, linear mixed effects, and survival models. The package includes demos reproducing analyzes presented in the book "Multiple Comparisons Using R" (Bretz, Hothorn, Westfall, 2010, CRC Press).


Changes in 1.4-8 (2017-11-08)

o    use vcov(x, complete = FALSE) to make R-devel happy again.

Changes in 1.4-7 (2017-09-05)

o    Don't add attributes to symbols when parsing character representations
     of contrasts. Many thanks to Tomas Kalibera for the patch.

Changes in 1.4-6 (2016-07-14)

o    allow for strata and cluster in coxph and survreg models.

o    use \code{model.matrix} and \code{model.frame} from survival
     for \code{coxph}, \code{survreg} and also \code{coxme} objects
     now these come with contrasts.

o    fix another problem with interaction terms (signed interactions

Changes in 1.4-5 (2016-05-04)

o    fix bug in linfct specified as a character (aka expression).
     Coefficients of main effects may have been incorrect in the
     presence of interaction terms as reported by Melissa Chester Key

Changes in 1.4-4 (2016-01-17)

o    make cftest() a little more flexible with parm and test arguments

Changes in 1.4-3 (2016-01-02)

o    update to mvtnorm 1.0-5

Changes in 1.4-2 (2016-01-19)

o    update to mvtnorm 1.0-4

Changes in 1.4-1 (2015-07-21)

o    new qmv{t,norm} algorithm in mvtnorm 1.0-3 leads to
     slightly different quantiles and thus results for
     confidence intervals; update output

Changes in 1.4-0 (2015-03-05)

o    much more complex functions of parameters can
     be specified now thanks to Susan Scheibe
     <Susan.Scheibe _at_> now
     listed as a contributor.

Changes in 1.3-9 (2015-02-18)

o    allow longer names of contrasts (patch by Susan Scheibe
     <Susan.Scheibe _at_>)

Changes in 1.3-8 (2014-12-01)

o    report pmv{t,norm}() warnings (spotted by Christian Ritz)

Changes in 1.3-7 (2014-10-01)

o    bodyfat is in and not mboost anymore

Changes in 1.3-6 (2014-08-18)

o    make sure to use fixef from lme4

Changes in 1.3-5 (2014-07-23)

o    allow coefficients and covariance matrices to be
     fed into modelparm via coef. and vcov. directly

Changes in 1.3-4 (2014-07-09)

o    suggest ISwR (for demo())

o    NEWS in correct NEWs format

Changes in 1.3-3 (2014-04-22)

o    do not link to non-suggested packages

Changes in 1.3-2 (2014-02-12)

o    import, update

Changes in 1.3-1 (2013-11-01)

o    remove multmod

Changes in 1.3-0 (2013-07-13)

o    new glht method for multiple marginal models and corresponding
     linear functions implements Pipper, Ritz, Bisgaard (2012),
     see ?mmm

Changes in 1.2-21 (2013-09-20)

o    fix broken vignette PDF files

o    remove all files; these can be downloaded
     from now

Changes in 1.2-20 (2013-09-02)

o    make sure to use par(no.readonly = TRUE)

Changes in 1.2-19 (2013-08-06)

o    fix broken vignette PDFs

Changes in 1.2-18 (2013-05-17)

o    improve plotting one-sided confidence intervals

Changes in 1.2-17 (2013-05-15)

o    fix typo in DESCRIPTION file

o    allow for levels with "-" and other special symbols for cld()

o    fix cld(..., decreasing = TRUE) problem (thanks to Luciano Selzer)

Changes in 1.2-15 (2013-01-12)

o    fix DESCRIPTION file entries

Changes in 1.2-14 (2012-10-11)

o    catch download errors in vignette

Changes in 1.2-13 (2012-09-10)

o    interaction terms can now be part of linear function

Changes in 1.2-12 (2012-05-09)

o    model.matrix.polr returns intercept which needs to be removed

o    handle merMod objects (package lme4 aka lme4Eigen)

Changes in 1.2-10 (2012-02-17)

o    handle polr objects in package, not only in vignette

o    move vignettes

Changes in 1.2-9 (2012-01-11)

o    new coxme methods

Changes in 1.2-8 (2011-10-26)

o    new argument `decreasing' for cld(), code donated
     by Luciano Selzer <>

Changes in 1.2-7 (2011-07-23)

o    new examples on 2-way ANOVA models, potentially with interactions,
     in vignette `multcomp-examples'

Changes in 1.2-6 (2011-05-02)

o    `manual' na.omit before stepAIC is called in
      chfls1.Rnw vignette

o    use lmrob.control(setting = "KS2011") in generalsiminf.Rnw

Changes in 1.2-5 (2011-01-10)

o    missing comment in multcomp_VA.R

Changes in 1.2-4 (2010-11-03)

o   fix problem with plot.glht (lwd = 0 does not make sense)

Changes in 1.2-3 (2010-09-24)

o   new example on frailty models, see ?cml

Changes in 1.2-2 (2010-09-15)

o   fix dependencies, really

o   add book to DESCRIPTION file

Changes in 1.2-1 (2010-09-13)

o   fix dependencies

Changes in 1.2-0 (2010-08-11)

o   demos for "Multiple Comparisons Using R" by
    Bretz, Hothorn & Westfall (2010)

o   example on simultaneous tests against one- and
    two-sided alternatives in ?glht.

Changes in 1.1-7 (2010-05-18)

o   mix of alternatives is currently not supported 
    and also mcp() gives and error now.

Changes in 1.1-6 (2010-02-25)

o   quantiles for confidence intervals
    used `tail = upper.tail' for `alternative = less'
    and `tail = lower.tail' for `alternative = greater'.
    This has been changed.

o   prepare for multcomp book:
    - SAS code in inst/MCMT
    - new demos

o   source code for simulations with unbalanced heteroscedstic
    designs added

Changes in 1.1-5 (2010-02-11)

o   fix small problems in `cld' spotted by 
    Peter B. Mandeville <>

Changes in 1.1-4 (2010-01-21)

o   more example data sets

Changes in 1.1-3 (2009-12-21)

o   bugfix for models without intercept and more than one factor

o   print calls when available only

o   support for coxme objects

o   allow xlab and ylab arguments for plot.cld

o   systolic blood pressure data set added

Changes in 1.1-2 (2009-09-10)

o   mcp may average over interactions and covariates (Experimental!)

o   ylim argument to plot

o   update to survival 2.35-7

Changes in 1.1-1 (2009-07-18)

o    better handling of model.frames in `cld'

Changes in 1.1-0 (2009-06-08)

o    new compact letter displays

o    force binary mode when downloading SPSS data files

Changes in 1.0-8 (2009-05-26))

o    new vignette containing supplementary material
     for a letter on Pollet \& Nettle (2009, 
     Evolution and Human Behavior)

o    references updated

Changes in 1.0-7 (2009-02-11)

o    new default for missing linfct: inference over
     all parameters as given by coef(model)

o    new function cftest, similar to lmtest:::coeftest

Changes in 1.0-6 (2009-01-21)

o    better names for p-values (feature request by Achim Zeileis)

Changes in 1.0-5 (2009-01-13)

o    update vignette

Changes in 1.0-4 (2009-01-07)

o    fix Rd problems

Changes in 1.0-3 (2008-10-15)

o    use isSymmetric(vcov, tol = sqrt(.Machine$double.eps)
     to check for symmetry of covariance matrices in `parm'
     (suggested by Fritz)

o    better error messages suggested by Rich

Changes in 1.0-2 (2008-07-05)

o    use new model.matrix / model.frame methods for class mer in
     lme4 (>= 0.999375-16)

o    make sure more than 2 groups are present in contrMat()

o    check if `model' is an S4 object before trying to extract its
     `call' slot

o    better warning when df.residual fails

Changes in 1.0-0 (2008-04-01)

o    unify both vignettes

o    mcp() doesn't try to take care of interaction terms anymore

o    new `parm' function for specifying model parameters estimated

o    improve print method for confidence intervals

o    new adjustment method `free' (for free combinations)

Changes in 0.993-2 (2008-03-05))

o    make sure names are printed correctly when nrow(K) = 1

o    interaction terms are now correctly handled when a symbolic
     descripton of the hypotheses is supplied, thanks to 
     Antonio Fabio Di Narzo for spotting.

Changes in 0.993-1 (2008-03-05)

o    new vignette `Simultaneous Inference in General Parametric Models'

o    warn if ... arguments are ignored

o    levels in trees513 data slightly changed.

o    remove deprecated functions simint and simtest (the files
     are still available from multcomp/inst/deprecated)

o    better error message when factors specified in mcp() aren't
     found in model

Changes in 0.992-8 (2007-12-20)

o    add model.frame and model.matrix methods for class `lme'
     (feature request by Antonio Rausell <>)

o    new data set `trees513'

o    new contrasts `UmbrellaWilliams' and `GrandMean'
     (thanks to Daniel Gerhard <>)

Changes in 0.992-6 (2007-10-18))

o    add support for lme4::(g)lmer2 objects (thanks to Manuel Eugster)

o    coef. and vcov. didn't always pass through, spotted by
     John Deke <>

Changes in 0.992-5 (2007-10-08)

o    remove non_function entries in Rd files

Changes in 0.992-4 (2007-07-23)

o    update to mvtnorm 0.8-0

o    better support for `mer', `lmer' and `glmer' objects
     (package `lme4')

Changes in 0.992-2 (2007-07-07)

o    add support for `lme' objects (feature request by
     John Wilkinson <> and Dieter Menne

Changes in 0.992-1 (2007-06-21)

o    fix LaTeX problem in vignette (spotted by Brian D. Ripley)

Changes in 0.991-9 (2007-03-23)

o    fix some minor problems spotted for plotting or
     printing of confidence intervals (thanks for Rich Heiberger and
     Ludwig Hothorn)

Changes in 0.991-8 (2007-01-22)

o    make sure `type' is available

o    catch errors with `aovlist' objects

o    print for confint method indicates if confidence 
     intervals are adjusted or univariate

Changes in 0.991-7 (2006-12-19)

o    try to deal with non-estimable coefficients in `model': if the
     correspondings columns of `linfct' are zero anyway, we silently
     proceed. If not, we stop and ask for a correctly specified model.

o    try to detect interactions with numeric covariates. We need to
     choose a specific value here but it seems hard to add 
     something appropriate to the user interface (I don't want to touch
     `mcp'). For the time being, we fire a warning and the user can 
     modify `linfct' manually.

o    add mcp(<name> = "Means"), contribution by Richard M. Heiberger

o    add Rich to DESCRIPTION file

Changes in 0.991-5 (2006-12-10)

o    plot.confint allows for specification of xlim, xlab and main
     (patch by Rich Heiberger)

Changes in 0.991-4 (2006-12-07)

o    Depends: stats

o    confint(..., calpha = x) can be used to specify critical
     values directly (with x being either a function or a scalar)

Changes in 0.991-3 (2006-11-30)

Implement feature requests by Rich Heiberger <>:

o    glht.mcp adds a `focus' element to the returned object
     containing the names of the factors under test

o    plot.glht calls plot.confint.glht

o    documentation updates

o    fixed three minor bugs

Changes in 0.991-2 (2006-10-27)

o    mcp(fact = K) with K = contrMat(...) didn't work
     spotted by Yves Brostaux <>

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.4-18 by Torsten Hothorn, 20 days ago The publishers web page is

Browse source code at

Authors: Torsten Hothorn [aut, cre] , Frank Bretz [aut] , Peter Westfall [aut] , Richard M. Heiberger [ctb] , Andre Schuetzenmeister [ctb] , Susan Scheibe [ctb]

Documentation:   PDF Manual  

Task views: Clinical Trial Design, Monitoring, and Analysis, Statistics for the Social Sciences, Survival Analysis

GPL-2 license

Imports sandwich, codetools

Depends on stats, graphics, mvtnorm, survival,

Suggests lme4, nlme, robustbase, coin, MASS, foreign, xtable, lmtest, coxme, SimComp, ISwR, tram, fixest

Imported by ANOM, AgroR, CIplot, Crossover, Deducer, ICRanks, LMMstar, MAGNAMWAR, MANOVA.RM, MCPAN, NADA2, Publish, RABR, SimComp, TTAinterfaceTrendAnalysis, VetResearchLMM, augmentedRCBD, breathtestcore, cg, clustDRM, coin, drc, easyDes, factorplot, gMCP, iNZightRegression, ibd, jmv, lavaSearch2, lmDiallel, mixlm, mlmm.gwas, mlt.docreg, mratios, multiCA, mutoss, perccalc, piecewiseSEM, rankFD, rms, seedreg, sensR, spass, tram, twosigma.

Depended on by BSagri, HH, ILS, MAVTgsa, RcmdrPlugin.coin, curvecomp, medflex, mutossGUI, nparcomp, postHoc, tukeytrend.

Suggested by BiodiversityR, DoseFinding, ETC, FixSeqMTP, GLMMadaptive, HSAUR2, HSAUR3, MVA, PMCMRplus, PairViz, Rcmdr, RcmdrPlugin.EZR, RcmdrPlugin.IPSUR, RcmdrPlugin.NMBU, Sleuth3,, afex, broom, cotram, doBy, emmeans, evtree, fastR2, flexmix, georob, ggplot2, glmglrt, glmmTMB, languageR, mcprofile, metafor, microbenchmark, mlt, multcompView, parameters, psychotools, tramME.

Enhanced by spaMM.

See at CRAN