## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5 ) library(p3d) ## ----eval = FALSE------------------------------------------------------------- # install.packages("pvaluefunctions") ## ----eval = FALSE------------------------------------------------------------- # library(pvaluefunctions) # # conf_dist( # estimate = 0.5, # stderr = 1 / sqrt(30), # df = 29, # tstat = 0.5 * sqrt(30), # type = "ttest", # plot_type = "p_val" # ) ## ----fig.alt = "3D p-value surface"------------------------------------------- surface <- p_surface( d = seq(-2, 2, 0.1), n = seq(5, 200, 5) ) plot_p_static(surface) ## ----fig.alt = "2D curve vs 3D slice"----------------------------------------- # 2D curve at n = 30 curve_30 <- p_curve_2d(d = seq(-2, 2, 0.1), n = 30) # Plot the 2D curve plot(curve_30$d, curve_30$p, type = "l", lwd = 2, col = "darkred", xlab = "Effect size (d)", ylab = "p-value", main = "2D p-value curve (n = 30)") abline(h = 0.05, col = "blue", lty = 2) grid() ## ----------------------------------------------------------------------------- curve_30$p[curve_30$d == 0.5] surface$p[surface$d == 0.5, surface$n == 30] ## ----------------------------------------------------------------------------- surface$p[surface$d == 0.5, surface$n == 10] surface$p[surface$d == 0.5, surface$n == 30] surface$p[surface$d == 0.5, surface$n == 100] ## ----------------------------------------------------------------------------- p_surface(d = 0.5, n = 30)$p[1, 1] ## ----------------------------------------------------------------------------- set.seed(42) n_sim <- 10000 n <- 30 d <- 0.5 p_values <- replicate(n_sim, { x <- rnorm(n, mean = d, sd = 1) t.test(x, mu = 0)$p.value }) mean(p_values)