library(tidyverse)
library(purrrfect)
(sim_study <- parameters(~n, ~mu, ~sigma,
c(4,8,15), c(-2,0,2), c(1,2,3))
%>% add_trials(10000)
%>% mutate(ysample = pmap(list(n, mu, sigma), \(n,m,s) rnorm(n, mean = m, sd = s)))
%>% mutate(ybar = map_dbl(ysample, mean),
s = map_dbl(ysample, sd))
%>% mutate(simulated = (ybar - mu)/(s/sqrt(n)))
%>% mutate(analytic = dt(simulated, df = n-1))
)
# A tibble: 270,000 × 9
n mu sigma .trial ysample ybar s simulated analytic
<dbl> <dbl> <dbl> <dbl> <list> <dbl> <dbl> <dbl> <dbl>
1 4 -2 1 1 <dbl [4]> -2.49 0.568 -1.71 0.0941
2 4 -2 1 2 <dbl [4]> -2.15 1.04 -0.281 0.349
3 4 -2 1 3 <dbl [4]> -1.76 1.20 0.409 0.330
4 4 -2 1 4 <dbl [4]> -0.889 0.612 3.63 0.0126
5 4 -2 1 5 <dbl [4]> -1.21 1.20 1.32 0.147
6 4 -2 1 6 <dbl [4]> -2.08 0.741 -0.218 0.356
7 4 -2 1 7 <dbl [4]> -2.13 0.506 -0.525 0.308
8 4 -2 1 8 <dbl [4]> -2.90 0.829 -2.17 0.0555
9 4 -2 1 9 <dbl [4]> -1.34 1.34 0.983 0.210
10 4 -2 1 10 <dbl [4]> -1.86 1.24 0.221 0.356
# ℹ 269,990 more rows