# aov.sufficient: Analysis of variance from sufficient statistics for groups. In HH: Statistical Analysis and Data Display: Heiberger and Holland

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

 ```1 2 3 4 5 6``` ```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 `aov`. `weights` See `lm`. `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.

## Note

The residuals are fake. They are all identical and equal to the MLE standard error (`sqrt(SumSq.res/df.tot)`). They give the right ANOVA table. They may cause confusion or warnings in other programs. The standard errors and t-tests of the coefficients are not calculated by `summary.lm`. Using the `aov` object from `aovSufficient` in `glht` requires the `vcov.` and `df` arguments.

## Author(s)

Richard M. Heiberger <rmh@temple.edu>

`MMC` and `aov`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40``` ```## 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") ## End(Not run) }) ```

### Example output

```Loading required package: lattice

Attaching package: 'TH.data'

The following object is masked from 'package:MASS':

geyser

Warning messages:
1: In formals(fun) : argument is not a function
2: In formals(fun) : argument is not a function
```

HH documentation built on Nov. 28, 2020, 9:06 a.m.