typestar

ab_test.R en R

Simular una prueba A/B y reportar el efecto con una prueba t.

#!/usr/bin/env Rscript
# Simula una prueba A/B y reporta el efecto con una prueba t.

set.seed(2026)

simulate <- function(n, mean_a, mean_b, sd = 15) {
  list(
    control = rnorm(n, mean = mean_a, sd = sd),
    variant = rnorm(n, mean = mean_b, sd = sd)
  )
}

report <- function(groups) {
  test <- t.test(groups$variant, groups$control)
  lift <- mean(groups$variant) - mean(groups$control)
  cat("control mean:", round(mean(groups$control), 2), "\n")
  cat("variant mean:", round(mean(groups$variant), 2), "\n")
  cat("lift:        ", round(lift, 2), "\n")
  cat("95% CI:      ", round(test$conf.int, 2), "\n")
  cat("p-value:     ", format.pval(test$p.value, digits = 3), "\n")
  if (test$p.value < 0.05) {
    cat("verdict: significant at alpha = 0.05\n")
  } else {
    cat("verdict: not significant\n")
  }
}

args <- commandArgs(trailingOnly = TRUE)
n <- if (length(args) > 0) as.integer(args[1]) else 200
report(simulate(n, mean_a = 100, mean_b = 106))

Cómo funciona

  1. rnorm genera las muestras de control y variante.
  2. t.test da el intervalo y el valor p.
  3. El veredicto se imprime contra alfa = 0.05.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
30
Caracteres a escribir
923
Tokens
246
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 141 segundos.

Escribe este fragmento

Paso 2 de 2 en Bis; paso 11 de 11 en Estadística.

← Anterior