# ezANOVA

##### Function to perform a factorial ANOVA

This function provides easy analysis of data from factorial experiments, including purely within-Ss designs (a.k.a. "repeated measures"), purely between-Ss designs, and mixed within-and-between-Ss designs, yielding ANOVA results and assumption checks.

##### Usage

```
ezANOVA(
data
, dv
, wid
, within = NULL
, between = NULL
, observed = NULL
, diff = NULL
, reverse_diff = FALSE
, type = 2
, white.adjust = FALSE
, detailed = FALSE
, return_aov = FALSE
)
```

##### Arguments

- data
- Data frame containing the data to be analyzed.
- dv
- .() object specifying the column in
`data`

that contains the dependent variable. Values in this column must be numeric. - wid
- .() object specifying the column in
`data`

that contains the variable specifying the case/Ss identifier. - within
- Optional .() object specifying one or more columns in
`data`

that contain predictor variables that are manipulated (or observed) within-Ss. - between
- Optional .() object specifying one or more columns in
`data`

that contain predictor variables that are manipulated (or observed) between-Ss. - observed
- Optional .() object specifying one or more columns in
`data`

that are already specified in either`within`

or`between`

that contain predictor variables that are observed variables (i.e. not manipulated). The presence of o - diff
- Optional .() object specifying a 2-level within-Ss varbiable to collapse to a difference score.
- reverse_diff
- Logical. If TRUE, triggers reversal of the difference collapse requested by
`diff`

. - type
- Numeric value (either
`1`

,`2`

or`3`

) specifying the Sums of Squares "type" to employ when data are unbalanced (eg. when group sizes differ).`type = 2`

is the default because this will yield identical ANOVA re - white.adjust
- Only affects behaviour if the design contains only between-Ss predictor variables. If not FALSE, the value is passed as the white.adjust argument to
`Anova`

, which provides heteroscedasticity correction. See - detailed
- Logical. If TRUE, returns extra information (sums of squares, raw likelihood ratios, AIC & BIC values used in computing corrected likelihood ratios, etc.).
- return_aov
- Logical. If TRUE, computes and returns an aov object corresponding to the requested ANOVA (useful for computing post-hoc contrasts).

##### Details

While `within`

and `between`

are both optional, at least one column of `data`

must be provided to either `within`

or `between`

. Prior to running, `dv`

is collapsed to a mean for each cell defined by the combination of `wid`

and any variables supplied to `within`

and/or `between`

and/or `diff`

.

##### Value

- A list containing one or more of the following components:
ANOVA A data frame containing the ANOVA results. Mauchly's Test for Sphericity If any within-Ss variables with >2 levels are present, a data frame containing the results of Mauchly's test for Sphericity. Only reported for effects >2 levels because sphericity necessarily holds for effects with only 2 levels. Sphericity Corrections If any within-Ss variables are present, a data frame containing the Greenhouse-Geisser & Huynh-Feldt epsilon values, and corresponding corrected p-values. Levene's Test for Homgeneity If the design is purely between-Ss, a data frame containing the results of Levene's test for Homgeneity of variance. Note that Huynh-Feldt corrected p-values where the Huynh-Feldt epsilon >1 will use 1 as the correction epsilon. aov An aov object corresponding to the requested ANOVA.

##### Note

Some column names in the output data frames are abbreviated to conserve space:

##### References

- Bakeman, R. (2005). Recommended effect size statistics for repeated measures designs. Behavior Research Methods, 37 (3), 379-384.
- Glover S, Dixon P. (2004) Likelihood ratios: a simple and flexible statistic for empirical psychologists. Psychonomic bulletin & review, 11 (5), 791-806.

##### See Also

`ANT`

, `ANT2`

, `ezANOVA`

, `ezBoot`

, `ezBootPlot`

, `ezCor`

, `ezDesign`

, `ezMixed`

, `link{ezMixedRel}`

, `ezPerm`

, `ezPlot`

, `ezPrecis`

, `ezPredict`

, `ezResample`

, `ezStats`

, `progress_time`

, `progress_timeCI`

##### Examples

```
#Read in the ANT data (see ?ANT).
data(ANT)
head(ANT)
ezPrecis(ANT)
#Run an ANOVA on the mean correct RT data.
rt_anova = ezANOVA(
data = ANT[ANT$error==0,]
, dv = .(rt)
, wid = .(subnum)
, within = .(cue,flank)
, between = .(group)
)
#Show the ANOVA & assumption tests.
print(rt_anova)
#Run an ANOVA on the mean_rt data, ignoring group.
rt_anova2 = ezANOVA(
data = ANT[ANT$error==0,]
, dv = .(rt)
, wid = .(subnum)
, within = .(cue,flank)
)
#Show the ANOVA & assumption tests.
print(rt_anova2)
#Run a purely between-Ss ANOVA on the mean_rt data.
rt_anova3 = ezANOVA(
data = ANT[ANT$error==0,]
, dv = .(rt)
, wid = .(subnum)
, between = .(group)
)
#Show the ANOVA & assumption tests.
print(rt_anova3)
```

*Documentation reproduced from package ez, version 3.0-1, License: GPL (>= 2)*