angelo.arcadi at virgilio.it
2011-May-21 13:33 UTC
[R] Problem with ANOVA repeated measures: "Error() model is singular"
Hello everybody, I need an help because I don´t know if the command for the ANOVA analysis I am performing in R is correct. Indeed using the function aov I get the following error:"In aov (......) Error() model is singular" The structure of my table is the following: subject, stimulus, condition, sex, response Example: subject stimulus condition sex response subject1 gravel EXP1 M 59.8060 subject2 gravel EXP1 M 49.9880 subject3 gravel EXP1 M 73.7420 subject4 gravel EXP1 M 45.5190 subject5 gravel EXP1 M 51.6770 subject6 gravel EXP1 M 42.1760 subject7 gravel EXP1 M 56.1110 subject8 gravel EXP1 M 54.9500 subject9 gravel EXP1 M 62.6920 subject10 gravel EXP1 M 50.7270 subject1 gravel EXP2 M 70.9270 subject2 gravel EXP2 M 61.3200 subject3 gravel EXP2 M 70.2930 subject4 gravel EXP2 M 49.9880 subject5 gravel EXP2 M 69.1670 subject6 gravel EXP2 M 62.2700 subject7 gravel EXP2 M 70.9270 subject8 gravel EXP2 M 63.6770 subject9 gravel EXP2 M 72.4400 subject10 gravel EXP2 M 58.8560 subject11 gravel EXP1 F 46.5750 subject12 gravel EXP1 F 58.1520 subject13 gravel EXP1 F 57.4490 subject14 gravel EXP1 F 59.8770 subject15 gravel EXP1 F 55.5480 subject16 gravel EXP1 F 46.2230 subject17 gravel EXP1 F 63.3260 subject18 gravel EXP1 F 60.6860 subject19 gravel EXP1 F 59.4900 subject20 gravel EXP1 F 52.6630 subject11 gravel EXP2 F 55.7240 subject12 gravel EXP2 F 66.4220 subject13 gravel EXP2 F 65.9300 subject14 gravel EXP2 F 61.8120 subject15 gravel EXP2 F 62.5160 subject16 gravel EXP2 F 65.5780 subject17 gravel EXP2 F 59.5600 subject18 gravel EXP2 F 63.8180 subject19 gravel EXP2 F 61.4250 ..... ..... ..... ..... As you can notice each subject repeated the evaluation in 2 conditions (EXP1 and EXP2). What I am interested in is to know if there are significant differences between the evaluations of the males and the females. This is the command I used to perform the ANOVA with repeated measures: aov1 = aov(response ~ stimulus*sex + Error(subject/(stimulus*sex)), data=scrd) summary(aov1) I get the following error: > aov1 = aov(response ~ stimulus*sex + Error(subject/(stimulus*sex)), data=scrd) Warning message: In aov(response ~ stimulus * sex + Error(subject/(stimulus * sex)), : Error() model is singular > summary(aov1) Error: subject Df Sum Sq Mean Sq F value Pr(>F) sex 1 166.71 166.72 1.273 0.274 Residuals 18 2357.29 130.96 Error: subject:stimulus Df Sum Sq Mean Sq F value Pr(>F) stimulus 6 7547.9 1257.98 35.9633 <2e-16 *** stimulus:sex 6 94.2 15.70 0.4487 0.8445 Residuals 108 3777.8 34.98 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Error: Within Df Sum Sq Mean Sq F value Pr(>F) Residuals 420 9620.6 22.906 > The thing is that looking at the data it is evident for me that there is a difference between male and females, because for each stimulus I always get a mean higher for the males rather than the females. Therefore the ANOVA should indicate significant differences.... Is there anyone who can suggest me where I am wrong? Finally, I know that in R there are two libraries on linear mixed models called nlme and lme4, but I have never used it so far and I don´t know if I have to utilize it for my case. Is it the case to utilize it? If yes, could you please provide a quick R example of a command which could solve my problem? Thanks in advance! Best regards [[alternative HTML version deleted]]