Why do ANOVA p and F values change? I am currently conducting a two-way ANOVA on a dataset and have noticed how significance and F values change dependent on the type of ANOVA I use in R. Why is this?
For instance, if I run a two-way ANOVA the factor I am analysing becomes outputs F (1,28) = 7.2, P <.05.
When I run it by itself however in a one-way ANOVA it becomes F (1, 30) = 21.5, p < .001.
If someone could explain to me why the difference, that would be much appreciated.
 A: In general: while the treatment sum of squares (SS) and degrees of freedom (df) will not change, the SSerror and dferror are calculated in different ways for one- and two-way ANOVA-s which is why the corresponding F- and p-values differ.
The error sum of squares (SS) is calculated as the sum of squared deviations from the cell mean for all cells in the design table. If you alter the design table, the error SS changes too. This alters F since for a treatment effect:
F = (SStreat / df1) / (SSerror / df2)
df1 = treatment df; df2 = error df;
For a one-way ANOVA with equal sample sizes of all treatment groups: 
df1 = p - 1 (where p is the number of groups);
df2 = p(n - 1) (where n is the number of persons per group);
If you subdivide the design table from above by a second factor (let's call it a 'row factor', as opposed to the 'column factor' from above) you get a two-way ANOVA:
df1 = p - 1 (where p is the number of columns);
df2 = pk(n -1) (where k is the number of rows, n and p as above);
Btw., do you have a 2x2 design with 8 persons per group, i.e., 32 persons in total?
