这里的答案很好,对所有人+1。我只是想展示在极端情况下以漏斗图形式显示的效果。下面,我将模拟一个小效果作为并在2到2000个观测值之间绘制样本。ñ(.01 ,.1 )
在严格的机制下,图中的灰点不会发布。灰线是效应量对样本量的回归,其中包括“不良p值”研究,而红线则排除了这些。黑线表示真实效果。p < .05
如您所见,在出版偏见下,小型研究强烈倾向于过高估计效应大小,而大型研究则倾向于报告更接近事实的效应大小。
set.seed(20-02-19)
n_studies <- 1000
sample_size <- sample(2:2000, n_studies, replace=T)
studies <- plyr::aaply(sample_size, 1, function(size) {
dat <- rnorm(size, mean = .01, sd = .1)
c(effect_size=mean(dat), p_value=t.test(dat)$p.value)
})
studies <- cbind(studies, sample_size=log(sample_size))
include <- studies[, "p_value"] < .05
plot(studies[, "sample_size"], studies[, "effect_size"],
xlab = "log(sample size)", ylab="effect size",
col=ifelse(include, "black", "grey"), pch=20)
lines(lowess(x = studies[, "sample_size"], studies[, "effect_size"]), col="grey", lwd=2)
lines(lowess(x = studies[include, "sample_size"], studies[include, "effect_size"]), col="red", lwd=2)
abline(h=.01)
由reprex软件包(v0.2.1)创建于2019-02-20