I'm trying to learn how to do a repeated measures ANOVA in R using lme().
A data set that comes from the book Design and Analysis has the following
structure: Measurements (DV) were taken on 8 subjects (SUB) with two
experimental levels (GROUP) at four times (TRIAL).
In SAS, I use the code:
PROC MIXED DATA=[data set below];
CLASS sub group trial;
MODEL dv = group trial group*trial;
REPEATED trial / SUBJECT=sub TYPE=CS;
run;
which gives the results:
Tests of Fixed Effects
Source NDF DDF Type III F Pr > F
GROUP 1 6 2.51 0.1645
TRIAL 3 18 22.34 0.0001
GROUP*TRIAL 3 18 0.58 0.6380
In R, I'm trying the code:
results.cs <- lme(DV ~ factor(GROUP)*factor(TRIAL), data=[data set below],
random= ~factor(TRIAL)|SUB, correlation=corCompSymm() )
anova(results.cs)
which gives the results:
numDF denDF F-value p-value
(Intercept) 1 18 3383.953 <.0001
factor(GROUP) 1 6 4.887 0.0691
factor(TRIAL) 3 18 239.102 <.0001
factor(GROUP):factor(TRIAL) 3 18 1.283 0.3103
Why are these results different? I'm a newbie to R, have the book
"Mixed
Effects Models in S and S-Plus", but can't seem to get this analysis to
work. Any suggestions?
Thanks!
Manuel
Data:
SUB GROUP DV TRIAL
1 1 3 1
1 1 4 2
1 1 7 3
1 1 3 4
2 1 6 1
2 1 8 2
2 1 12 3
2 1 9 4
3 1 7 1
3 1 13 2
3 1 11 3
3 1 11 4
4 1 0 1
4 1 3 2
4 1 6 3
4 1 6 4
5 2 5 1
5 2 6 2
5 2 11 3
5 2 7 4
6 2 10 1
6 2 12 2
6 2 18 3
6 2 15 4
7 2 10 1
7 2 15 2
7 2 15 3
7 2 14 4
8 2 5 1
8 2 7 2
8 2 11 3
8 2 9 4
Hi >I'm trying to learn how to do a repeated measures ANOVA in R using lme(). >In SAS, I use the code: > >PROC MIXED DATA=[data set below]; > CLASS sub group trial; > MODEL dv = group trial group*trial; > REPEATED trial / SUBJECT=sub TYPE=CS; > >In R, I'm trying the code: > >results.cs <- lme(DV ~ factor(GROUP)*factor(TRIAL), data=[data set below], >random= ~factor(TRIAL)|SUB, correlation=corCompSymm() ) >anova(results.cs) Try $ anova(lme(DV ~ GROUP*TRIAL,random= ~1|SUB, correlation=corCompSymm() )) It yields the correct result (I converted all the factors into factors). Trial is a fixed, not random factor. Actually, you do not need lme for to run a repeated measure anova. You could use the aov function: $ summary(aov(DV~GROUP*TRIAL+Error(SUB/TRIAL))) This, again, yields the correct results. Hope this helps, Christophe Pallier http://www.pallier.org
>I'm trying to learn how to do a repeated measures ANOVA in R using >lme(). >In SAS, I use the code: > >PROC MIXED DATA=[data set below]; > CLASS sub group trial; > MODEL dv = group trial group*trial; > REPEATED trial / SUBJECT=sub TYPE=CS; >run; > >In R, I'm trying the code: > >results.cs <- lme(DV ~ factor(GROUP)*factor(TRIAL), data=[data set below], >random= ~factor(TRIAL)|SUB, correlation=corCompSymm() ) >anova(results.cs) Try anova(lme(DV ~ GROUP*TRIAL,random= ~1|SUB, correlation=corCompSymm() )) This yields the correct results (I converted all the factors into... factors). Note that the 'trial' factor is fixed. Actually you do not need lme for that. You could use the aov function: summary(aov(DV~GROUP*TRIAL+Error(SUB/TRIAL))) (it works well because the data is balanced) Christophe Pallier http://www.pallier.org