← Índice de Bioestadística abierta
Cálculo instantáneo en el navegador · verificable con R Activa

Entradas

Desviación estándar que esperas en la variable, tomada de un estudio previo o de un piloto. Si solo conoces el rango, una aproximación burda es rango/4.

Semiamplitud del intervalo de confianza que quieres obtener, en las mismas unidades que la variable.

Número de sujetos de la población de la que vas a muestrear, si es finita y conocida. Déjalo vacío (o en 0) si no lo es.

Proporción de sujetos que esperas perder (abandono, pérdida de seguimiento, muestras no procesables). Déjalo vacío si no prevés pérdidas.

Modo inverso: si ya cuentas con un número de sujetos, escríbelo aquí para ver qué precisión alcanzarías con él. Déjalo vacío (o en 0) si no lo usas.

Ejemplo cargado

Ejemplo ilustrativo: estimar la cifra media de plaquetas (×10³/µL) en pacientes con dengue, suponiendo una desviación estándar de 60, con una precisión de ±10 y previendo un 10 % de pérdidas (datos ficticios).

Datos ilustrativos, no reales.

Resultados

Cuantil normal (z)

1.960

95 %

Tamaño con la normal (n_z)

139

valor exacto: 138.29

Tamaño con la t de Student (n_t)

141

semiamplitud alcanzada: 9.99

Tamaño necesario (n)

139

valor exacto: 138.29

Reclutamiento con pérdidas

154

valor exacto: 153.66

Precisión alcanzable con el n disponible

no definido

captura un tamaño disponible para calcularla

Interpretación

Con 139 sujetos, y si la desviación estándar real es 60, la media quedaría estimada con un intervalo de confianza del 95 % de aproximadamente ±10 unidades.

Con el cuantil de la t de Student en lugar del normal, el requisito sube a 141 sujetos: 2 más que con la fórmula normal, porque estimar también la desviación estándar cuesta precisión.

Sin una población de origen acotada, el tamaño se queda en 139 sujetos. Si muestrearas de una población finita que no fuera mucho mayor que esa cifra, capturarla reduciría el número necesario.

Con un 10 % de pérdidas previstas, hay que reclutar 154 sujetos para terminar con 139.

Si ya cuentas con un número de sujetos, escríbelo en «Tamaño ya disponible (n, opcional)» para ver con qué precisión podrías estimar la media.

  • Las cifras dependen de los supuestos (desviación estándar esperada, precisión) tomados de estudios previos o pilotos; documente su origen.
  • La fórmula supone una variable aproximadamente simétrica. Si la suya es muy asimétrica, considere transformarla (logaritmo) o describirla con la mediana en vez de la media.
Precisión alcanzable según el tamaño de muestraPrecisión alcanzable con 139 Sujetos (n): ±9.975; precisión objetivo ±10.Semiamplitud del ICPrecisión alcanzable0102050100150200250Sujetos (n)precisión objetivo ±10n calculado: 139
Precisión alcanzable según el tamaño de muestra

Explicación

Para estimar una media (plaquetas, edad, días de estancia) el tamaño de muestra se calcula de modo que el intervalo de confianza sea lo bastante estrecho. La precisión absoluta d es la semiamplitud de ese intervalo, en las mismas unidades que la variable: con d = 10 la media quedará estimada con un margen de ±10 unidades.

La fórmula necesita la desviación estándar esperada σ, que sale de estudios previos, de un piloto o, en el peor de los casos, de una aproximación como el rango dividido entre cuatro. El tamaño crece con el cuadrado de σ y decrece con el cuadrado de d: duplicar la precisión exigida cuadruplica la muestra, y errar σ por un 20 % cambia el tamaño en casi un 50 %.

La variante t reconoce que, al estimar también la desviación estándar, el cuantil correcto no es el normal sino el de la t de Student con n−1 grados de libertad. Como ese cuantil depende del propio n, no hay fórmula cerrada: se busca el menor tamaño entero que cumple la condición, empezando por el resultado normal y subiendo de uno en uno. La diferencia es despreciable con muestras grandes y llega a ser decisiva por debajo de 30 sujetos, donde la fórmula normal se queda corta.

Tres ajustes cierran el cálculo. Si se muestrea de una población finita y conocida, la corrección por población finita reduce el tamaño. Las pérdidas previstas L elevan el reclutamiento a n/(1−L). Y el modo inverso responde a la pregunta contraria: con los sujetos de los que ya dispongo, ¿con qué precisión podré estimar la media? Todas las cifras se redondean hacia arriba una sola vez, al final. Si la variable es muy asimétrica, conviene transformarla o describirla con la mediana.

Ecuaciones

nz=(z1−α/2 σd)2n_z=\left(\dfrac{z_{1-\alpha/2}\,\sigma}{d}\right)^{2}
σ\sigma
desviación estándar esperada de la variable
dd
precisión absoluta: semiamplitud del intervalo de confianza
z1−α/2z_{1-\alpha/2}
cuantil normal del nivel de confianza (1.96 al 95 %)
Fórmula normal de Cochran (1977) para estimar una media con precisión absoluta.
nt=min⁡{ n∈Z, n≥2 : n≥(tn−1,  1−α/2 σd)2}n_t=\min\left\{\,n\in\mathbb{Z},\ n\ge 2\ :\ n\ge\left(\dfrac{t_{n-1,\;1-\alpha/2}\,\sigma}{d}\right)^{2}\right\}
tν,  1−α/2t_{\nu,\;1-\alpha/2}
cuantil de la t de Student con ν grados de libertad
Variante t (Student 1908): el menor tamaño entero que cumple la condición, buscado de uno en uno desde ⌈n_z⌉. No se resuelve por punto fijo, que puede quedarse por debajo del mínimo.
n=nz1+nz−1Nn=\dfrac{n_z}{1+\dfrac{n_z-1}{N}}
NN
tamaño de la población finita de la que se muestrea
Corrección por población finita; se aplica a n_z sin redondear. Sin N declarada, n = n_z.
naj=⌈n1−L⌉n_{aj}=\left\lceil\dfrac{n}{1-L}\right\rceil
LL
proporción de pérdidas previstas (0 a 0.5)
Ajuste por pérdidas previstas (Lwanga y Lemeshow 1991): el reclutamiento sube para terminar con n. El techo se aplica una sola vez, al final; el valor sin redondear se muestra en el detalle de la celda.
d(n)=z1−α/2 σnz(n),nz(n)=n (N−1)N−nd(n)=\dfrac{z_{1-\alpha/2}\,\sigma}{\sqrt{n_z(n)}},\qquad n_z(n)=\dfrac{n\,(N-1)}{N-n}
nz(n)n_z(n)
tamaño sin corregir equivalente a n en una población de N
Modo inverso: la misma relación n(d), despejada para d. Sin N declarada, n_z(n) = n.

Código R

# Sample size to estimate one mean (absolute precision) - Bioestadistica abierta, UDG-CA-1190
# Runs as is in R, RStudio or webR; prints the results as JSON at the end.
library(jsonlite)

sigma <- 60; d <- 10; nivel <- 0.95
poblacion <- 0   # size of the finite population; 0 = population not bounded
perdidas <- 0.1     # expected losses to follow-up, 0 to 0.5
n_dado <- 0         # inverse mode: sample size already available; 0 = not used

z <- qnorm(1 - (1 - nivel) / 2)
n_z <- (z * sigma / d)^2                                        # Cochran 1977
# t variant (Student 1908): the SMALLEST integer n >= 2 with n >= (t_{n-1} * sigma / d)^2.
# Searched one by one from max(2, ceiling(n_z)), a lower bound because t > z; the
# condition is monotone, so the first n that meets it is the minimum.
# NOT a fixed point: iterating n <- (t_{ceiling(n)-1} * sigma / d)^2 falls into a
# period-2 cycle and can publish a size BELOW the minimum (sigma = 1, d = 0.36,
# nivel = 0.80 gives 14, but 14 subjects reach only 0.3608, not 0.36).
n_t <- NA_real_
n_i <- max(2, ceiling(n_z))
for (i in 1:64) {
  cumple <- n_i >= (qt(1 - (1 - nivel) / 2, max(1, n_i - 1)) * sigma / d)^2
  if (cumple || n_i + 1 == n_i) { n_t <- n_i; break }   # above 2^53, +1 leaves the double unchanged
  n_i <- n_i + 1
}
n <- if (poblacion >= 2) n_z / (1 + (n_z - 1) / poblacion) else n_z   # finite population correction
n_ajustado <- n / (1 - perdidas)                                # Lwanga & Lemeshow 1991
# Inverse mode: the very same n(d) solved for d, with the same correction
n_efectivo <- if (poblacion >= 2) n_dado * (poblacion - 1) / (poblacion - n_dado) else n_dado
d_dado <- if (n_dado >= 2) z * sigma / sqrt(n_efectivo) else NA_real_

res <- list(z = z, n_z = n_z, n_t = n_t, n = n, n_ajustado = n_ajustado, d_dado = d_dado)
cat(toJSON(res, auto_unbox = TRUE, digits = NA))

# n_t is already an integer; the interface applies the ceiling once to the rest:
# ceiling(n_z), ceiling(n), ceiling(n_ajustado).
# Equivalent in RStudio (not run in the browser):
# presize::prec_mean(mean = 0, sd = sigma, conf.width = 2 * d, conf.level = nivel)
# epiR::epi.sssimpleestc(N = poblacion, xbar = 0, sigma = sigma, epsilon = d, error = "absolute", conf.level = nivel)

Este es el mismo código que valida la calculadora: cópialo y ejecútalo en R o RStudio para reproducir el resultado.

La verificación con R dentro del navegador llegará en una próxima versión; mientras tanto, copia el código y ejecútalo en RStudio.

Métodos para manuscrito

El tamaño de muestra se calculó para estimar una media con precisión absoluta, suponiendo una desviación estándar de 60 y una semiamplitud del intervalo de 10, con un nivel de confianza del 95 %, mediante la fórmula normal de Cochran [1], sin corrección por población finita, con la variante iterativa basada en la t de Student [2] como comprobación (141 sujetos); se añadió un 10 % por pérdidas previstas [3], con una meta de reclutamiento de 154 sujetos. Los cálculos se realizaron con la calculadora «Muestra para una media» de Bioestadística abierta (Cuerpo Académico UDG-CA-1190, https://udgca1190.com.mx/herramientas/bioestadistica/muestra-una-media), verificados con R.

Párrafo listo para la sección de Métodos; los números entre corchetes remiten a la lista de referencias.

Referencias

  1. 01 Cochran WG. Sampling Techniques. 3.ª ed. New York: John Wiley & Sons; 1977. Fuente original
  2. 02 Student. The probable error of a mean. Biometrika. 1908;6(1):1–25. doi:10.1093/biomet/6.1.1 Fuente original
  3. 03 Lwanga SK, Lemeshow S. Sample Size Determination in Health Studies: A Practical Manual. Geneva: World Health Organization; 1991. Complementaria
  4. 04 Hulley SB, Cummings SR, Browner WS, Grady DG, Newman TB. Designing Clinical Research. 4.ª ed. Philadelphia: Lippincott Williams & Wilkins; 2013. Lectura didáctica
  5. 05 Altman DG. Practical Statistics for Medical Research. London: Chapman & Hall; 1991. Lectura didáctica