Learn R Programming

HH (version 3.1-47)

aovSufficient: Analysis of variance from sufficient statistics for groups.

Description

Analysis of variance from sufficient statistics for groups. For each group, we need the factor level, the response mean, the within-group standard deviation, and the sample size. The correct ANOVA table is produced. The residuals are fake. The generic vcov and summary.lm don't work for the variance of the regression coefficients in this case. Use vcovSufficient.

Usage

aovSufficient(formula, data = NULL,
              projections = FALSE, qr = TRUE, contrasts = NULL,
              weights = data$n, sd = data$s,
              ...)

vcovSufficient(object, ...)

Arguments

formula, data, projections, qr, contrasts, …

See

weights

See

sd

vector of within-group standard deviations.

object

"aov" object constructed by aovSufficient. It also works with regular aov objects.

Value

For aovSufficient, an object of class c("aov", "lm"). For vcovSufficient, a function that returns the covariance matrix of the regression coefficients.

See Also

MMC and

Examples

Run this code
# NOT RUN {
## This example is from Hsu and Peruggia

## This is the R version
## See ?mmc.mean for S-Plus

if.R(s={},
r={

data(pulmonary)
pulmonary
pulmonary.aov <- aovSufficient(FVC ~ smoker,
                                data=pulmonary)
summary(pulmonary.aov)

# }
# NOT RUN {
pulmonary.mmc <- mmc(pulmonary.aov,
                     linfct=mcp(smoker="Tukey"),
                     df=pulmonary.aov$df.residual,
                     vcov.=vcovSufficient)
mmcplot(pulmonary.mmc, style="both")

## orthogonal contrasts
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

pulmonary.mmc <- mmc(pulmonary.aov,
                     linfct=mcp(smoker="Tukey"),
                     df=pulmonary.aov$df.residual,
                     vcov.=vcovSufficient,
                     focus.lmat=pulm.lmat)

mmcplot(pulmonary.mmc, style="both", type="lmat")
# }
# NOT RUN {
})
# }

Run the code above in your browser using DataLab