Why does SPSS give different p-values in the factorial ANOVA table and the Parameter Estimates table? I ran a 2x2 ANOVA in which I predicted anxiety from two binary predictors (gender and agegroup).


I couldn't understand why the p-values in the Tests of Between-Subjects Effects table did not match those in the Parameter Estimates table. The p-values for agegp and gender don't match, although the one for the interaction does.
 A: In SPSS General Linear Models procedure (GLM: i.e. ANOVA, MANOVA, etc.) with categorical predictors (factors) specified, the p-values discrepancy observed for the factors between the ANOVA-table and the parameter estimates table has this reason. ANOVA table always corresponds to deviation contrast coding of the factors. Parameters table corresponds to indicator (i.e. dummy variables) contrast coding of the factors.
You may check it yourself. Do some basic ANOVA in GLM. Then recode your factor(s) into deviation variables (codes 1, 0, -1) and perform linear regression with them. Compare the p-values with those from ANOVA table. Likewise, recode your factor(s) into dummy variables (codes 1, 0) and perform linear regression. Compare the p-values with those from parameter estimates table.
Parameters table always correspond to regressional, type III SS, reckoning of sums-of-squares, but ANOVA table could reflect also other reckoning (such as type I or II or IV SS) which will add to the discrepancy of p-values.
Note that using syntax of GLM command, specifically LMATRIX subcommand, you can request different ways to recode factors internally into various types of contrast variables. The p-values for those will be displayed in an additional table of the output.
P.S. In SPSS, there exists, besides GLM, also and older procedure MANOVA - now available only through syntax, not menu. Despite being "old", the command is still very valuable and keeps some options not available in GLM (including allowance of fractional case weights). There, if I remember correctly, no "discrepancy" occurs because by default the procedure uses deviation coding only.
