[R] Tukey HSD (or other post hoc tests) following repeated measures ANOVA

Mark Difford mark_difford at yahoo.co.uk
Fri May 30 09:16:17 CEST 2008


Hi Ullrich,

>> The model is
>> RT.aov <- aov(RT~Cond + Error(Subj/Cond), WMU3C)
>> I understand that TukeyHSD only works with an aov object, but that 
>> RT.aov is an aovlist object.

You want to use lme() in package nlme, then glht() in the multcomp package. 
This will give you multiplicity adjusted p-values and confidence intervals.

## Example
require(MASS)         ## for oats data set
require(nlme)         ## for lme()
require(multcomp)  ## for multiple comparison stuff

Aov.mod <- aov(Y ~ N + V + Error(B/V), data = oats)
Lme.mod <- lme(Y ~ N + V, random = ~1 | B/V, data = oats)

summary(Aov.mod)
anova(Lme.mod)

summary(Lme.mod)
summary(glht(Lme.mod, linfct=mcp(V="Tukey")))

HTH, Mark.


Ullrich Ecker wrote:
> 
> Hi everyone,
> 
> I am fairly new to R, and I am aware that others have had this 
> problem before, but I have failed to solve the problem from previous 
> replies I found in the archives.
> 
> As this is such a standard procedure in psychological science, there 
> must be an elegant solution to this...I think.
> 
> I would much appreciate a solution that even I could understand... ;-)
> 
> 
> Now, I want to calculate a post-hoc test following up a within-subjects
> ANOVA.
> 
> The dv is reaction time (RT), there is a 3-level Condition factor 
> (Cond; within-subjects), a number of subjects (Subj), and the 
> dataframe is called WMU3C.
> 
> The model is
> 
>  > RT.aov <- aov(RT~Cond + Error(Subj/Cond), WMU3C)
> 
> I understand that TukeyHSD only works with an aov object, but that 
> RT.aov is an aovlist object.
> 
>  > class(RT.aov)
> [1] "aovlist" "listof"
> 
> I've tried to work around it using the "maiz" example in the MMC 
> documentation of the HH package (a solution previously recommended), 
> but I couldn't get it to work: My best shot was to calculate another 
> aov avoiding the error term (I don't see how this could be a feasible 
> approach, but that's how I understood the MMC example) and a contrast 
> vector (contrasting conditions 2 and 3):
> 
> I have to admit that I don't quite understand what I'm doing here 
> (not that you couldn't tell)
> 
>  > RT2.aov <- aov(terms(RT~Subj*Cond, WMU3C))
>  > Cond.lmat <- c(0,1,-1)
>  > Tukey <- glht.mmc(RT2.aov, focus = "Cond", focus.lmat = Cond.lmat)
> 
> yielding
> 
> Error in mvt(lower = carg$lower, upper = carg$upper, df = df, corr = 
> carg$corr,  :
>    NA/NaN/Inf in foreign function call (arg 6)
> In addition: Warning message:
> In cov2cor(covm) : diagonal has non-finite entries
> 
>  > Tukey
>        height
> 
> 
> 
> Thank you very much for your help!
> 
> Ullrich
> 
> 
> Dr Ullrich Ecker
> Postdoctoral Research Associate
> Cognitive Science Laboratories
> School of Psychology (Mailbag M304)
> Room 211 Sanders Building
> University of Western Australia
> 35 Stirling Hwy
> Crawley WA 6009
> Australia
> Office: +61 8 6488 3266
> Mobile: +61 4 5822 0072
> Fax: +61 8 6488 1006
> E-mail: ullrich.ecker at uwa.edu.au
> Web: www.cogsciwa.com  
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> 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.
> 
> 

-- 
View this message in context: http://www.nabble.com/Tukey-HSD-%28or-other-post-hoc-tests%29-following-repeated-measures-ANOVA-tp17508294p17553029.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list