Durchführung eines multifaktoriellen t-Tests für alle möglichen Gruppenpaare mit einer minimalen Anzahl von Codierungszeilen.ddply multifaktoriell alle paarweisen t-tests
Mein Beispiel:
3x Eigenschaften: 1,2,3
4x Gruppen: A, B, C, D
Ziel: Für jedes Feature-Test alle Paare von Gruppen:
1 (AB, Wechselstrom, ANZEIGE, BC, BD, CD)
2 (AB, Wechselstrom, AD, BC, BD, CD)
3 (AB, Wechselstrom, AD, BC, BD, CD) = 18 T- Tests
Im Moment verwende ich ddply und drinnen lapply:
library(plyr)
groupVector <- c(rep("A",10),rep("B",10),rep("C",10),rep("D",10))
featureVector <- rep(1:3,each=40)
mydata <- data.frame(feature=factorVector,group=groupVector,value=rnorm(120,0,1))
ddply(mydata,.(feature),function(x){
grid <- combn(unique(x$group),2, simplify = FALSE)
df <- lapply(grid,function(p){
sub <- subset(x,group %in% p)
pval <- t.test(sub$value ~ sub$group)$p.value
data.frame(groupA=p[1],groupB=p[2],pval=pval)
})
res <- do.call("rbind",df)
return(res)
})