[R] Bootstrapping a repeated measures ANOVA
Fischer, Felix
Felix.Fischer at charite.de
Fri Apr 16 18:35:34 CEST 2010
Thank you for your answer. Sorry for the missing example.
In fact, i think, i solved the issue by some data-manipulations in the function. I splitted the data (one set for each measuring time), selected the cases at random, and then combined the two measuring times again. Results look promising to me, but if someone is aware of problems, please let me know.
This code should run:
library(boot)
anova.daten=data.frame(subject=sort(rep(1:10,2)), mz=rep(1:2,10), ort=sort(rep(1:2,10)),PHQ_Sum_score=rnorm(20,10,2)) #generate data
summary(aov(PHQ_Sum_score~mz*ort+Error(subject/mz),data=anova.daten))
F_values <- function(formula, data1, indices) {
data2=subset(data1, data1$mz==2) #subsetting data for each measuring time
data3=subset(data1, data1$mz==1)
data4 <- data3[indices,] # allows boot to select sample
subjekte=na.omit(data4$subject)
data5=rbind(data3[subjekte,], data2[subjekte,]) #combine data
data5$subject=factor(rep(1:length(subjekte),2)) #convert repeated subjects to unique subjects
fit=aov(formula,data=data5) #fit model
return(c(summary(fit)[1][[1]][[1]]$`F value`, summary(fit)[2][[1]][[1]]$`F value`)) #return F-values
}
results <- boot(data=anova.daten, statistic=F_values,
R=10, formula=PHQ_Sum_score~mz*ort+Error(subject/mz)) #bootstrap
Thanks a lot,
Felix Fischer
More information about the R-help
mailing list