Nsubject <- 30 Nrepsubj1 <- 90 Subject <- c( gl(1,2*(Nrepsubj1-1)), gl(Nsubject, 2) ) Condition <- gl(2,1,(Nrepsubj1+ Nsubject-1)*2, labels=c("A","B")) table(Subject, Condition) Measure <- rnorm(length(Condition), mean=as.numeric(Condition), sd=.1) Measure[Subject==1] <- rnorm(sum(Subject==1), mean=3-as.numeric(Condition), sd=.1) alldata <- data.frame(Subject, Condition, Measure) ag <- data.frame(aggregate(Measure ~ Condition+Subject, alldata, mean)) par(mfrow=c(1,3), las=1, pch=20) plot(Measure, col=as.numeric(Condition)+1, xlab="", xaxt="n") title(main="Fig.1: Raw data", xlab="colors correspond to conditions") text(Nrepsubj1,1.5,"Subject 1 (many repetitions)") text(Nrepsubj1*2+Nsubject,1.5,"Other subjects") abline(v=Nrepsubj1*2, lty=2) plot(ag$Measure~ag$Condition, xlab="Condition", ylab="Measure", col=as.numeric(Condition)+1) title(main="Fig.2: Average first within subjects") plot(alldata$Measure~alldata$Condition, xlab="Condition", ylab="Measure", col=as.numeric(Condition)+1) title(main="Fig.3: Average over the whole set of data") summary(aov(Measure~Condition+Error(Subject/Condition), data=ag)) summary(aov(Measure~Condition+Error(Subject/Condition), data=alldata))