[R] some help interpreting ANOVA results, please?

Prof Brian Ripley ripley at stats.ox.ac.uk
Sun Oct 10 21:00:53 CEST 2004

On Sun, 10 Oct 2004, RenE J.V. Bertin wrote:

> On Sun, 10 Oct 2004 18:04:23 +0100 (BST), Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote regarding
> "Re: [R] some help interpreting ANOVA results, please?"
> Thank you for your answers.
> 8-) Here you have a problem, as that term appears in two strata, so presumably 
> 8-) the nesting was unbalanced.  You either need to use Yates' `recovery of 
> 8-) inter-block information' or, simpler, use lme.
> 	Would you have any suggestions for an accessible text explaining lme, apart from MASS-4?
> 8-) You have evidence that the effect of WasSick differs by T.norm.Class.
> 8-) If that is substantiated by a more refined analysis, it does not make 
> 8-) sense to say there is a `very significant WasSick effect', as it is likely 
> 8-) there is an effect for some session times and not others, or at least that 
> 8-) the size of the effect differs by session time.
> 	WasSick is an overall assessment made at the end of the experimental sessions. That is why I tend to use it as an independent variable. Of course I did not decide whether or not a given subject would be sick (WasSick==1) or not, nor was it designated by a random process. It is in a way intrinsically linked to the individual subjects, not unlike gender. Maybe that is something to take into account for choosing the right test?
> 8-) Trying to interpret main effects in the presence of interactions depends 
> 8-) on the (unstated) coding of factors used.  If this is treatment coding,
> 8-) WasSick is the effect at T=0 (significant) and the effect appears to 
> 8-) change with time.
> 	I am not sure what you mean with (treatment) coding: a

options(contrasts=c("contr.treatment", something))

uses treatment coding for unordered factors.  That's the default in R, 
but not usually what is used in ANOVA.

> between-subjects design where some subjects receive a particular
> treatment and other don't? For WasSick, this comes down to the same
> thing as my design, and also for T.norm.Class, in a certain way. I have
> a number of subjects who all did a nauseogenic task (driving a car
> simulator), and indicated their level of discomfort while doing so.
> There was no strict timing protocol, and besides, each subject will have
> his/her own time scale on which the sickness eveolves and/or is
> indicated, hence my use of normalised time. WasSick at T=0 is not of
> interest, as it is 0, by definition.
> 8-) I think that means the correct error model is Error(Subject/T.norm.Class):
> 8-) my guess is that WasSick is a subject-level observation and so each 
> 8-) subject only has one level of it.  Certainly that is the model which was 
> 8-) fitted.
> 	Yes, that is true (see above), and there are not as many sick as non-sick subjects (although the difference is not huge). When I use the Error term as you suggest, I do indeed get the same results, but also still the warning message.
> Fortunately, when I run the test on only one group, the results are much clearer (N.S. in the non-sick):
> > with2( SelectCases(ss600.3, "WasSick==1"), summary( aov( Sickness.norm~T.norm.Class + Error(Subject/(T.norm.Class)) ) ) )
> Warning in aov(Sickness.norm ~ T.norm.Class + Error(Subject/(T.norm.Class))) : 
> 	 Error model is singular
> Error: Subject
>              Df Sum Sq Mean Sq F value Pr(>F)
> T.norm.Class  5  3.716   0.743   2.191  0.110
> Residuals    15  5.087   0.339               
> Error: Subject:T.norm.Class
>              Df Sum Sq Mean Sq F value   Pr(>F)    
> T.norm.Class  5 11.561   2.312   16.15 2.25e-11 ***
> Residuals    91 13.027   0.143                     
> RenE Bertin

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-help mailing list