置换测试产生错误的p值

时间:2019-08-20 18:42:20

标签: r permutation t-test

我需要通过置换测试找出男女之间的SRI值是否存在差异。

我的数据在列中设置。第一列为FF或MM,第二列为对应的SRI值。我有FF的2018年观测值和MM的1650年观测值。

加载和检查数据

data1 <- read_excel("FFvsMM.xlsx")
head(data1)
names(data1)[1]<-"Combi

拆分数据

data1$Combi=factor(data1$Combi,labels=c("FF","MM")) 
FF<-subset(data1,Combi=="FF") 
MM<-subset(data1,Combi=="MM")

计算观察到的均值差异

mean(FF$SRI) 
mean(MM$SRI)
Obs<-mean(FF$SRI)-mean(MM$SRI)
Obs

初始化具有10.000个排列的随机t检验

nsims=10000
CombinedSRI<-c(FF$SRI,MM$SRI)
CombinedCombi<-c(FF$Combi,MM$Combi)
diffs<-rep(NA,nsims)
diffObs<-mean(FF$SRI)-mean(MM$SRI)

运行测试

for ( i in 1:nsims) {
  shuffledLabels<-sample(CombinedCombi,replace = FALSE)
  diffs[i]<-mean(CombinedSRI[shuffledLabels==1])-mean(CombinedSRI[shuffledLabels==2]) 
}

p值

length(diffs[abs(diffs)>=abs(diffObs)])/nsims

我期望p值低于0.05,但输出为0.79。

0 个答案:

没有答案