只是为了复制这篇关于同一想法的不同迭代的帖子——在这种情况下,一个不道德的研究人员可以多快地产生具有显着 p 值的一次性伪科学,我登陆了这个页面,并从接受的答案中学习(+ 1)。
事实证明,平均值是20正如预测的那样;中位数是14; 和模式只是1.这与下面直方图上的右偏态分布一致。
这是 R 中的代码,以及平均值、中位数和众数的结果,这听起来就像您在后续评论中所要求的:
set.seed(3141592)
firsthackingop <- 0 # Empty vec to collect number of studies before hitting the jackpot.
for(i in 1:1e5){ # The whole search for a sig p value will be done 100,000 times.
hackingwait <- 1 # The counting vector for every p-searching Safari.
repeat{
x=rnorm(100, 0, 1) # 100 draws from a norm dist as in @overwhelmed's answer.
if(t.test(x, mu=0)$p.value > 0.05){hackingwait=hackingwait+1}else{break}
}
firsthackingop[i] <- hackingwait
}
mean(firsthackingop)
# [1] 20.17556
median(firsthackingop)
# [1] 14
Mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
Mode(firsthackingop)
[1] 1
hist(firsthackingop, freq = T, main = "No. t-tests before Type I Error",
xlim=c(0,100), col = rgb(.2,.2,.8,.5), border = F,
cex.axis=.75, cex.main=.9, xlab="", ylab="")
这是直方图:

有趣的是,这只是几何分布p=0.05定义为获得一次成功所需的伯努利试验次数 X 的概率分布,其平均值为1p=10.05=20;并以一种模式1.R中的数据生成是v = rgeom(1e5,0.05) + 1,这里是情节:

> Mode(v)
[1] 1
> mean(v)
[1] 20.12817
> median(v)
[1] 14