Wow, I really dropped the ball in responding promptly on this one! Sorry about that :O\
The within-full argument is there so that, when dealing with data that needs to be collapsed to cell means, you get the same results no matter what within-Ss variables you enter. For example, say you have a design with two within-Ss variables, A & B, but the data are unbalanced at the level of the raw data (ex. you had to toss observations from specific conditions from specific subjects). The full anova would be:
ezANOVA(
data = my_data
, dv = my_dv
, wid = subject
, within = .(A,B)
)
But if you ran an anova with just one of the variables and failed to pass it to within full, as in:
ezANOVA(
data = my_data
, dv = my_dv
, wid = subject
, within = A
)
You might get different results for the main effect of A as compared to the previous call. This is because the second call collapses the data to a mean for each level of A within each subject, and if the number of observations vary between levels of B, this affects the means. So, the proper call is:
ezANOVA(
data = my_data
, dv = my_dv
, wid = subject
, within = A
, within_full = B
)
The use of this really isn't for doing anovas, as you'd more typically simply do the full anova and leave it at that. More useful is plotting main effects from a complicated design, where ezPlot gets ezANOVA to collapse the data and provide means and error bars. So, if I wanted to look at the plot of the main effect of A, I'd do:
ezPlot(
data = my_data
, dv = my_dv
, wid = subject
, within = A
, within_full = B
, x = A
)