| mmc.mean {HH} | R Documentation |
Constructs a "mmc.multicomp" object from the sufficient statistics
for a one-way design. The object must be explicitly plotted.
multicomp.mean(group, n, ybar, s, alpha=.05, ## S-Plus
ylabel="ylabel", focus.name="focus.factor", plot=FALSE,
lmat, labels=NULL, ...,
df=sum(n) - length(n),
sigmahat=(sum((n-1)*s^2) / df)^.5)
multicomp.mmc.mean(group, n, ybar, s, ylabel, focus.name, ## S-Plus
lmat,
...,
comparisons="mca",
lmat.rows=seq(length=length(ybar)),
ry,
plot=TRUE,
crit.point,
iso.name=TRUE,
estimate.sign=1,
x.offset=0,
order.contrasts=TRUE,
method="tukey",
df=sum(n)-length(n),
sigmahat=(sum((n-1)*s^2)/df)^.5)
group |
character vector of levels |
n |
numeric vector of sample sizes |
ybar |
vector of group means |
s |
vector of group standard deviations |
alpha |
Significance levels of test |
ylabel |
name of response variable |
focus.name |
name of factor |
plot |
logical. Should the "mmc.multicomp" object be
automatically plotted? ignored in R. |
lmat |
lmat from multicomp in S-Plus or
t(linfct) from glht in R. |
labels |
labels argument for multicomp in S-Plus.
Not used in R. |
method |
method for critical point calculation. This corresponds
to method in S-Plus multicomp and to type
in R glht |
df |
scalar, residual degrees of freedom |
sigmahat |
sqrt(MSE) from the ANOVA table |
... |
other arguments |
comparisons |
argument to S-Plus multicomp only. |
estimate.sign, order.contrasts, lmat.rows |
See lmat.rows in
mmc. |
ry |
See argument ry.mmc in plot.mmc.multicomp. |
crit.point |
See argument crit.point in S-Plus
multicomp. The equivalent is not in glht. |
iso.name, x.offset |
See plot.mmc.multicomp. |
multicomp.mmc.mean returns a "mmc.multicomp" object.
multicomp.mean returns a "multicomp" object.
The multiple comparisons calculations in R and S-Plus use
completely different functions.
MMC plots in R are constructed by glht.mmc
based on glht.
MMC plots in S-Plus are constructed by
multicomp.mmc based on the S-Plus multicomp.
The MMC plot is the same in both systems. The details of getting the
plot differ.
Richard M. Heiberger <rmh@temple.edu>
Heiberger, Richard M. and Holland, Burt (2004b). Statistical Analysis and Data Display: An Intermediate Course with Examples in S-Plus, R, and SAS. Springer Texts in Statistics. Springer. ISBN 0-387-40270-5.
Heiberger, R.~M. and Holland, B. (2006). "Mean–mean multiple comparison displays for families of linear contrasts." Journal of Computational and Graphical Statistics, 15:937–955.
Hsu, J. and Peruggia, M. (1994). "Graphical representations of {Tukey's} multiple comparison method." Journal of Computational and Graphical Statistics, 3:143–161.
## This example is from Hsu and Peruggia
## This is the S-Plus version
## See ?aov.sufficient for R
if.R(r={},
s={
pulmonary <- read.table(hh("datasets/pulmonary.dat"), header=TRUE,
row.names=NULL)
names(pulmonary)[3] <- "FVC"
names(pulmonary)[1] <- "smoker"
pulmonary$smoker <- factor(pulmonary$smoker, levels=pulmonary$smoker)
row.names(pulmonary) <- pulmonary$smoker
pulmonary
pulmonary.aov <- aov.sufficient(FVC ~ smoker,
data=pulmonary)
summary(pulmonary.aov)
## multicomp object
pulmonary.mca <-
multicomp.mean(pulmonary$smoker,
pulmonary$n,
pulmonary$FVC,
pulmonary$s,
ylabel="pulmonary",
focus="smoker")
pulmonary.mca
## lexicographic ordering of contrasts, some positive and some negative
plot(pulmonary.mca)
pulm.lmat <- cbind("npnl-mh"=c( 1, 1, 1, 1,-2,-2), ## not.much vs lots
"n-pnl" =c( 3,-1,-1,-1, 0, 0), ## none vs light
"p-nl" =c( 0, 2,-1,-1, 0, 0), ## {} arbitrary 2 df
"n-l" =c( 0, 0, 1,-1, 0, 0), ## {} for 3 types of light
"m-h" =c( 0, 0, 0, 0, 1,-1)) ## moderate vs heavy
dimnames(pulm.lmat)[[1]] <- row.names(pulmonary)
pulm.lmat
## mmc.multicomp object
pulmonary.mmc <-
multicomp.mmc.mean(pulmonary$smoker,
pulmonary$n,
pulmonary$FVC,
pulmonary$s,
ylabel="pulmonary",
focus="smoker",
lmat=pulm.lmat,
plot=FALSE)
old.par <- par(mar=c(5,4,4,4)+.1)
## pairwise comparisons
plot(pulmonary.mmc, print.mca=TRUE, print.lmat=FALSE)
## tiebreaker plot, with contrasts ordered to match MMC plot,
## with all contrasts forced positive and with names also reversed,
## and with matched x-scale.
plot(pulmonary.mmc$mca, col.signif='red', lty.signif=1, xlabel.print=FALSE,
xaxs="d", plt=par()$plt+c(0,0,-.25,.05), xrange.include=c(-1, 1))
## orthogonal contrasts
plot(pulmonary.mmc, print.lmat=TRUE, col.lmat.signif='blue', col.iso='gray')
## pairwise and orthogonal contrasts on the same plot
plot(pulmonary.mmc, print.mca=TRUE, print.lmat=TRUE,
col.mca.signif='red', col.lmat.signif='blue', col.iso='gray',
lty.lmat.not.signif=2)
par(old.par)
})