## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 5
)
library(p3d)

## -----------------------------------------------------------------------------
surface <- p_surface(
  d = seq(-2, 2, 0.1),
  n = seq(5, 200, 5)
)

str(surface, max.level = 1)

## -----------------------------------------------------------------------------
surface$p[surface$d == 0.5, surface$n == 30]

## -----------------------------------------------------------------------------
surface$d_crit[surface$n == 30]

## ----fig.alt = "Static 3D p-value surface"------------------------------------
plot_p_static(surface)

## ----eval = FALSE-------------------------------------------------------------
# plot_p_surface(surface, engine = "plotly")

## ----eval = FALSE-------------------------------------------------------------
# plot_p_surface(surface, engine = "rgl")

## -----------------------------------------------------------------------------
curve_30 <- p_curve_2d(d = seq(-2, 2, 0.1), n = 30)
head(curve_30)

## -----------------------------------------------------------------------------
x <- mtcars$mpg
d_obs <- (mean(x) - 20) / sd(x)
n_obs <- length(x)

cat("Observed effect size:", round(d_obs, 4), "\n")
cat("Sample size:", n_obs, "\n")

## -----------------------------------------------------------------------------
2 * (1 - pt(abs(d_obs) * sqrt(n_obs), df = n_obs - 1))

## ----fig.alt = "Observed effect size on the 3D surface"-----------------------
surface_real <- p_surface(
  d = seq(-0.5, 0.5, 0.01),
  n = seq(5, 200, 5)
)

plot_p_static(surface_real, theta = 30, phi = 20)

