<- 100
nr_of_trials
<- Vectorize(
calc_p function(effect_size, n) {
<- rnorm(n)
y1 <- rnorm(n, effect_size)
y2 t.test(y1, y2)$p.value
}
)
calc_p(1, 10)
[1] 0.01657786
<- tibble(effect_size = c(rep(0, nr_of_trials), rexp(nr_of_trials)),
dat effect_present = rep(c('No', 'Yes'), each = nr_of_trials),
n = 10,
p = calc_p(effect_size, nr_of_trials))
plot(sort(dat$p))
|>
dat ggplot(aes(effect_size, p, colour = effect_present)) +
geom_point() +
geom_smooth()
`geom_smooth()` using method = 'loess' and formula = 'y ~ x'