HH (version 3.1-23)

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#ifndef S-Plus aov. #endif #ifdef S-Plus aov. #endif
weights
See#ifndef S-Plus lm. #endif #ifdef S-Plus lm. #endif
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#ifndef S-Plus aov. #endif #ifdef S-Plus aov. #endif

Examples

Run this code
## 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)

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")
})

Run the code above in your browser using DataCamp Workspace