0
如何使用最少數量的編碼線對所有可能的組羣進行多因素t檢驗。ddply多因子所有配對t檢驗
我的例子:
3X特徵:1,2,3
4X基團:A,B,C,d
目的:對於每一個特徵測試所有對組:
1 (AB,AC,AD,BC,BD,CD)
2(AB,AC,AD,BC,BD,CD)
3測試
此刻我使用ddply和裏面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)
})