Dear R-community!Hmmm, strange, it works if I use factB:id as plot... it also works when I use factA:id as plot and replace your Y's by random numbers... is this a problem with convergence?
I still have the problem reproducing the following example using lme.
id<-factor(rep(rep(1:5,rep(3,5)),3))
factA <- factor(rep(c("a1","a2","a3"),rep(15,3)))
factB <- factor(rep(c("B1","B2","B3"),15))
Y<-numeric(length=45)
Y[ 1: 9]<-c(56,52,48,57,54,46,55,51,51)
Y[10:18]<-c(58,51,50,54,53,46,54,50,49)
Y[19:27]<-c(53,49,48,56,48,52,52,52,50)
Y[28:36]<-c(55,51,46,57,49,50,55,51,47)
Y[37:45]<-c(56,48,51,58,50,48,58,46,52)
df<-data.frame(id, factA, factB, Y) df.aov <- aov(Y ~ factA*factB + Error(factA:id),
data=df)
summary(df.aov)
Is there a way to get the same results with lme as with aov with Error()? HOW???
One idea was the following:
df$factAid=factor(paste(as.character(df$factA),":",as.character(df$id),sep=""))
df.lme <-
lme(Y~factA*factB,df,random=~1|factAid,method="REML") The degrees of freedom look right, but the F values
don't match aov.
Hope somebody can help! Thanks!!
Karl
Pascal
> df$Y=rnorm(45) > summary(aov(Y ~ factB*factA + Error(id:factA),data=df))
Error: id:factA Df Sum Sq Mean Sq F value Pr(>F) factA 2 2.9398 1.4699 0.9014 0.4318 Residuals 12 19.5675 1.6306
Error: Within Df Sum Sq Mean Sq F value Pr(>F) factB 2 7.1431 3.5716 7.4964 0.002956 ** factB:factA 4 4.2411 1.0603 2.2254 0.096377 . Residuals 24 11.4345 0.4764 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
> anova(lme(Y ~ factB*factA ,data=df, random = ~ 1 | plot)) numDF denDF F-value p-value (Intercept) 1 24 0.014294 0.9058 factB 2 24 7.496097 0.0030 factA 2 12 0.901489 0.4318 factB:factA 4 24 2.225317 0.0964
Pascal
> summary(aov(Y ~ factA*factB + Error(factB:id)))
Error: factB:id Df Sum Sq Mean Sq F value Pr(>F) factB 2 370.71 185.36 51.488 1.293e-06 *** Residuals 12 43.20 3.60 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Error: Within Df Sum Sq Mean Sq F value Pr(>F) factA 2 9.911 4.956 1.6248 0.21788 factA:factB 4 45.556 11.389 3.7341 0.01686 * Residuals 24 73.200 3.050
> df$plot <- factor(paste(df$factB,df$id)) > anova(lme(Y ~ factB*factA , data=df, random = ~1 | plot)) numDF denDF F-value p-value (Intercept) 1 24 33296.02 <.0001 factB 2 12 51.47 <.0001 factA 2 24 1.63 0.2178 factB:factA 4 24 3.73 0.0168 >
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help