[R] How to get Greenhouse-Geisser epsilons from anova?

John Fox jfox at mcmaster.ca
Fri Dec 5 16:17:14 CET 2008


Dear Nils,

You might also take a look at the Anova() function in the car package, which
though less flexible than anova() should get you the tests that you want
more simply. ?Anova has an example of a repeated-measures ANOVA with two
within-subject and two between-subject factors.

I hope that this helps,
 John

------------------------------
John Fox, Professor
Department of Sociology
McMaster University
Hamilton, Ontario, Canada
web: socserv.mcmaster.ca/jfox


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On
> Behalf Of Skotara
> Sent: December-05-08 8:40 AM
> To: Peter Dalgaard; r-help at r-project.org
> Subject: Re: [R] How to get Greenhouse-Geisser epsilons from anova?
> 
> Dear Mr. Daalgard.
> 
> thank you very much for your reply, it helped me to progress a bit.
> 
> The following works fine:
> dd <- expand.grid(C = 1:7, B= c("r", "l"), A= c("c", "f"))
> myma <- as.matrix(myma) #myma is a 12 by 28 list
> mlmfit <- lm(myma~1)
> mlmfit0 <- update(mlmfit, ~0)
> anova(mlmfit, mlmfit0, X= ~C+B, M = ~A+C+B, idata = dd,
> test="Spherical"), which tests the main effect of A.
> anova(mlmfit, mlmfit0, X= ~A+C,  M = ~A+C+B, idata = dd,
> test="Spherical"), which tests the main effect of B.
> 
> 
> However, I can not figure out how this works for the other effects.
> If I try:
> anova(mlmfit, mlmfit0, X= ~A+B,  M = ~A+C+B, idata = dd,
test="Spherical")
> 
> I get:
> Fehler in function (object, ..., test = c("Pillai", "Wilks",
> "Hotelling-Lawley",  :
>         residuals have rank 1 < 4
> 
> I also don't know how I can calculate the various interactions..
> My read is I should change the second argument mlmfit0, too, but I can't
> figure out how...
> 
> Do you know what to do?
> Thank you very much!
> 
> 
> 
> Peter Dalgaard schrieb:
> > Skotara wrote:
> >> Dear all,
> >>
> >> I apologize for my basic question.
> >> I try to calculate an anova for repeated measurements with 3 factors
> >> (A,B,C) having 2, 2, and 7 levels.
> >> or with an additional fourth between subjects factor D.
> >> Everything works fine using
> >> aov(val ~ A*B*C  + Error(subject/ (A*B*C) ) )  or
> >> aov(val ~ (D*A*B*C)  + Error(subject/(A*B*C)) + D )
> >> val, A, B, C, D and subject are columns in a data.frame.
> >>
> >> How can I get the estimated Greenhouse-Geisser and Huynh-Feldt
epsilons?
> >> I know Peter Dalgaard described it in R-News Vol. 7/2, October 2007.
> >> However, unfortunately I am not able to apply that using my data...
> >
> > Why? It is supposed to work. You just need to work out the X and M
> > specification for the relevant error strata and set test="Spherical"
> > for anova.mlm, or work out the T contrast matrix explicitly if that
> > suits your temper better.
> >
> >> Furthermore, I am still confused of how SPSS calculates the epsilons
> >> since it is mentioned that perhaps there are any errors in SPSS??
> >>
> >> I would be glad if anyone could help me!
> >> I am looking forward to hearing from you!
> >>
> >> Thank you!
> >> Nils
> >>
> >> ______________________________________________
> >> R-help at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> >> PLEASE do read the posting guide
> >> http://www.R-project.org/posting-guide.html
> >> and provide commented, minimal, self-contained, reproducible code.
> >
> >
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list