我用R写了一段代码,运行一个实验1000次,确定p值小于.05的次数并保存。下一个问题是找出这个值的平均值。我得到的平均值高于0.05,这显然意味着我犯了一个错误,我很难发现。我的错误在哪里?
set.seed(100)
pvals <- replicate(1000,replicate( 20, {
cases = rnorm(10,30,2)
controls = rnorm(10,30,2)
t.test(cases,controls)$p.value
}))
x <- sum(pvals<=0.05)
mean(pvals<=0.05)
结果->05035
也许这会有所帮助:
mean(pvals[which(pvals<=0.05)])
输出:
[1] 0.02539414
同样的结果:
mean(pvals[pvals<=0.05])
输出:
[1] 0.02539414