1  Semana 1 — Análisis Exploratorio de Datos (Parte I)

1.1 Introducción

El análisis exploratorio de datos (AED) es el primer paso en cualquier análisis estadístico. A través de visualizaciones, tablas y estadísticos descriptivos, aprendemos a entender las características principales de un conjunto de datos antes de realizar inferencia estadística más compleja.

1.2 Conceptos Fundamentales

1.2.1 Unidades Estadísticas, Variables y Valores

En estadística trabajamos con conceptos fundamentales que debemos dominar desde el principio.

NotaDefinición: Conceptos Fundamentales
  • Unidad estadística (o individuo): cada elemento sobre el que se realiza la observación. Puede ser una persona, animal, planta, empresa, etc.

  • Variable: una característica de una unidad estadística que puede variar de una unidad a otra. Se denota con letras mayúsculas (\(X\), \(Y\), etc.)

  • Valor: el resultado específico de observar una variable en una unidad estadística. Se denota con letras minúsculas (\(x_i\), \(y_i\), etc.)

  • Población: el conjunto completo de todas las unidades estadísticas de interés en un estudio.

  • Muestra: un subconjunto de la población observado en la práctica. La muestra se utiliza para extraer conclusiones sobre la población.

TipEjemplo 1.1: Presión Arterial en Pacientes Diabéticos

Supongamos que deseamos estudiar la presión arterial sistólica (PAS) en pacientes diabéticos de Granada.

  • Unidad estadística: cada paciente diabético individual
  • Variable: presión arterial sistólica (\(X\))
  • Valores: mediciones específicas en mmHg (ej. \(x_1 = 125\), \(x_2 = 130\), \(x_3 = 145\), …)
  • Población: todos los pacientes diabéticos de Granada
  • Muestra: los 200 pacientes diabéticos seleccionados para el estudio

1.2.2 Observaciones Atípicas (Outliers)

NotaDefinición: Outlier

Un outlier (observación atípica) es un valor que:

  • Parece desviarse marcadamente de los otros miembros de la muestra
  • Aparece o está ausente de forma inesperada
  • Puede reflejar una anomalía en la característica medida o un error en la medición/registro

Ejemplo: En el conjunto de presiones arteriales sistólicas \(\{125, 128, 130, 131, 198\}\), el valor \(198\) podría considerarse un outlier, ya que es sustancialmente mayor que los otros valores.


1.3 Escalas de Medición

El tipo de escala utilizada para medir una variable determina qué técnicas analíticas son apropiadas y qué conclusiones se pueden extraer.

NotaDefinición: Escalas de Medición

Las variables se clasifican en cuatro tipos según la escala en que se miden:

  1. Variables nominales (categóricas sin orden)
  2. Variables ordinales (categóricas con orden)
  3. Variables discretas (numéricas, valores aislados)
  4. Variables continuas (numéricas, infinitos valores posibles)

1.3.1 Variables Categóricas

NotaDefinición: Variables Categóricas (Nominales)

Una variable categórica es aquella que puede tomar uno de un conjunto limitado de valores posibles, asignando cada unidad a una categoría particular basada en una propiedad cualitativa.

Ejemplos:

  • Grupo sanguíneo: A, B, AB, O
  • Estado civil: soltero, casado, divorciado, viudo
  • Género: masculino, femenino
  • Región: Andalucía, Cataluña, Madrid, etc.

Los valores de una variable categórica se llaman niveles.

Las variables categóricas pueden ser:

  • Binarias (dicotómicas): solo dos niveles (ej. éxito/fracaso, enfermo/sano)
  • Politómicas: más de dos niveles (ej. grupo sanguíneo)

1.3.2 Variables Ordinales

NotaDefinición: Variables Ordinales

Una variable ordinal es una variable categórica en la que los niveles tienen un orden natural, pero las diferencias entre ellos no son cuantificables.

Relaciones válidas: “mayor que” y “menor que” (o “mejor que” y “peor que”).

Ejemplos:

  • Estadio de un tumor: I, II, III, IV
  • Grado de dependencia: leve, moderada, severa, total
  • Escala de dolor: nada, poco, moderado, intenso, insoportable

1.3.3 Variables Numéricas

NotaDefinición: Variables Discretas

Una variable discreta es una variable numérica que solo puede tomar un número finito o contablemente infinito de valores. Cada valor tiene vecinos claramente identificables.

Ejemplos:

  • Número de nacimientos en un mes
  • Número de episodios de hipoglucemia
  • Número de dientes extraídos
  • Cantidad de admisiones previas en el hospital
NotaDefinición: Variables Continuas

Una variable continua es una variable numérica que puede tomar infinitos valores no contables. Entre dos valores cualesquiera siempre existen otros valores posibles.

Ejemplos:

  • Presión arterial sistólica (en mmHg)
  • Peso corporal (en kg)
  • Altura (en cm)
  • Temperatura (en °C)

En la práctica: variables con muchas unidades contables (como el recuento de glóbulos rojos o blancos) se tratan como continuas y a veces se llaman “cuasi-continuas”.


1.4 Agrupación de Datos en Clases (Binning)

Cuando disponemos de muchas observaciones de una variable continua, frecuentemente es útil agruparlas en intervalos de clase para mejorar la claridad.

NotaDefinición: Binning (Agrupación en Clases)

El binning es la partición de los valores de una variable continua en varias clases (típicamente intervalos). Esto mejora la claridad cuando se tiene gran cantidad de datos.

Para cada intervalo o clase \(j\) definimos:

  • Límite inferior de la clase: \(x_j^l\)
  • Límite superior de la clase: \(x_j^u\)
  • Amplitud de la clase: \(\Delta x_j = x_j^u - x_j^l\)

Propiedades importantes:

  • Los intervalos son no superpuestos (disjuntos) y adyacentes
  • \(x_j^u = x_{j+1}^l\) (el límite superior de una clase es el límite inferior de la siguiente)
  • Convencionalmente: \(x_j^l < X \leq x_j^u\) (incluimos el límite superior, excluimos el inferior)
TipEjemplo 1.2: Niveles de Colesterol Total

En un estudio sobre salud cardiovascular tenemos:

  • Unidad estadística: paciente
  • Variable: nivel de colesterol total (en mg/dL)
Intervalo de Colesterol (mg/dL) Límites Amplitud
150 – 200 (Deseable) \(x_1^l = 150\), \(x_1^u = 200\) \(\Delta x_1 = 50\)
200 – 240 (Límite alto) \(x_2^l = 200\), \(x_2^u = 240\) \(\Delta x_2 = 40\)
240 – 300 (Alto) \(x_3^l = 240\), \(x_3^u = 300\) \(\Delta x_3 = 60\)

1.5 Tablas de Frecuencias y Distribución Empírica

Una forma eficaz de resumir un conjunto de datos es construir una tabla de frecuencias.

1.5.1 Frecuencias Absolutas y Relativas

NotaDefinición: Frecuencia Absoluta

La frecuencia absoluta de un valor \(x_j\) es el número de unidades estadísticas con ese valor característico:

\[h(x_j) = h_j\]

Propiedades: \[0 \leq h(x_j) \leq n, \quad \sum_{j=1}^{k} h(x_j) = n\]

donde \(n\) es el número total de observaciones y \(k\) es el número de valores distintos.

NotaDefinición: Frecuencia Relativa

La frecuencia relativa de un valor \(x_j\) es la proporción de unidades estadísticas con ese valor:

\[f(x_j) = \frac{h(x_j)}{n}\]

Propiedades: \[0 \leq f(x_j) \leq 1, \quad \sum_{j=1}^{k} f(x_j) = 1\]

La frecuencia relativa es útil para comparar distribuciones de diferentes tamaños.

1.5.2 Tabla de Frecuencias

NotaDefinición: Distribución de Frecuencias Empírica

Una distribución de frecuencias empírica es una tabla que lista los valores (o intervalos de valores) de una variable junto con sus frecuencias (absolutas o relativas).

Estructura de una tabla de frecuencias:

Valor (\(x_j\)) Frecuencia Absoluta (\(h_j\)) Frecuencia Relativa (\(f_j\))
\(x_1\) \(h_1\) \(f_1\)
\(x_2\) \(h_2\) \(f_2\)
\(x_k\) \(h_k\) \(f_k\)
Suma n 1

1.5.3 Frecuencias Acumuladas

NotaDefinición: Frecuencia Acumulada

La frecuencia acumulada es la suma de las frecuencias de todos los valores hasta un punto determinado.

Frecuencia acumulada absoluta: \[H(x_j) = \sum_{i=1}^{j} h(x_i), \quad j = 1, \ldots, k\]

Frecuencia acumulada relativa: \[F(x_j) = \frac{H(x_j)}{n} = \sum_{i=1}^{j} f(x_i), \quad j = 1, \ldots, k\]

Propiedades:

  • \(H(x_1) = h(x_1)\) y \(F(x_1) = f(x_1)\)
  • \(H(x_k) = n\) y \(F(x_k) = 1\)
  • Las frecuencias acumuladas son secuencias no decrecientes
TipEjemplo 1.3: Tabla de Frecuencias

Consideremos los datos de 10 pacientes diabéticos. Sus presiones arteriales sistólicas (en mmHg) son: 120, 125, 118, 130, 122, 128, 115, 135, 124, 129

PAS (mmHg) \(h_j\) \(f_j\) \(H_j\) \(F_j\)
115 1 0.10 1 0.10
118 1 0.10 2 0.20
120 1 0.10 3 0.30
122 1 0.10 4 0.40
124 1 0.10 5 0.50
125 1 0.10 6 0.60
128 1 0.10 7 0.70
129 1 0.10 8 0.80
130 1 0.10 9 0.90
135 1 0.10 10 1.00

Podemos observar que todas las presiones son diferentes en este ejemplo, por lo que cada una aparece una sola vez.

Cuadro 1.1: Código R para tabla de frecuencias de PAS
Código R para tabla de frecuencias de PAS
# Datos de presión arterial sistólica (PAS) en pacientes diabéticos
pas_diabeticos <- c(120, 125, 118, 130, 122, 128, 115, 135, 124, 129)

# Crear tabla de frecuencias
tabla_freq <- table(pas_diabeticos)
freq_rel <- as.numeric(tabla_freq) / length(pas_diabeticos)
freq_acum <- cumsum(as.numeric(tabla_freq))
freq_acum_rel <- cumsum(freq_rel)

# Crear data frame
result <- data.frame(
  PAS = as.numeric(names(tabla_freq)),
  h = as.numeric(tabla_freq),
  f = round(freq_rel, 2),
  H = freq_acum,
  F = round(freq_acum_rel, 2)
)
print(result, row.names = FALSE)
 PAS h   f  H   F
 115 1 0.1  1 0.1
 118 1 0.1  2 0.2
 120 1 0.1  3 0.3
 122 1 0.1  4 0.4
 124 1 0.1  5 0.5
 125 1 0.1  6 0.6
 128 1 0.1  7 0.7
 129 1 0.1  8 0.8
 130 1 0.1  9 0.9
 135 1 0.1 10 1.0
TipEjemplo 1.4: BioEstatR: freq()

La función freq() genera automáticamente la tabla de frecuencias con proporciones y acumuladas (documentación completa en Sección B.2):

Cuadro 1.2: Código R
Mostrar el código
library(BioEstatR)

# Tabla de frecuencias de la edad — pacientes diabéticos, UGR
freq(osteo$edad, grf = FALSE)

Distribución de frecuencias
--------------------------------
Variable:  osteo$edad 
n = 94 
 
        x Freq  Prop Prop.Acum
1 (18,23]   27 0.287     0.287
2 (23,28]   22 0.234     0.521
3 (28,33]   14 0.149     0.670
4 (33,38]   15 0.160     0.830
5 (38,43]    4 0.043     0.873
6 (43,48]    5 0.053     0.926
7 (48,53]    3 0.032     0.958
8 (53,58]    3 0.032     0.990

El 52.1% de los pacientes tiene 28 años o menos (la columna Prop.Acum del intervalo (23,28] muestra 0.521). Con grf = TRUE (por defecto) también se genera el histograma. Con cuts = 5 agrupa en 5 clases de igual amplitud.

1.5.4 Función de Distribución Empírica (ECDF)

NotaDefinición: Función de Distribución Empírica (ECDF)

La Función de Distribución Empírica (ECDF) asigna a cada valor \(x\) la proporción de observaciones en la muestra que son menores o iguales a \(x\).

Para datos no agrupados, la ECDF es una función escalonada que salta en cada valor observado:

\[F(x) = \begin{cases} 0 & \text{si } x < x_{(1)} \\ \frac{i}{n} & \text{si } x_{(i)} \leq x < x_{(i+1)} \\ 1 & \text{si } x \geq x_{(n)} \end{cases}\]

donde \(x_{(1)} \leq x_{(2)} \leq \cdots \leq x_{(n)}\) son los valores ordenados de la muestra.

TipEjemplo 1.5: Visualización: ECDF Escalonada (Datos de PAS)

Usando los datos de PAS del Ejemplo 1.3, observamos cómo la función acumula probabilidad en saltos de \(1/n\) en cada valor observado:

Figura 1.1: ECDF Escalonada para datos de PAS
AdvertenciaPropiedad Importante: ECDF

De la ECDF podemos recuperar las frecuencias relativas mediante:

\[f(x_j) = F(x_j) - F(x_{j-1}) \quad \text{para } j = 1, \ldots, k\]

con la convención \(F(x_0) = 0\).

TipEjemplo 1.6: Tiempo de Supervivencia de Pacientes

Se estudió el tiempo de supervivencia (en días) tras el diagnóstico de una patología agresiva en una cohorte de 100 pacientes. Los datos se agrupan en clases:

Intervalo (días) \(h_j\) \(f_j\) \(H_j\) \(F_j\)
0 – 100 1 0.01 1 0.01
100 – 500 24 0.24 25 0.25
500 – 1000 45 0.45 70 0.70
1000 – 4000 30 0.30 100 1.00
Total 100 1.00

1.5.5 Interpolación Lineal para Datos Agrupados

Para datos agrupados, no conocemos los valores exactos dentro de cada clase. Por ello, aproximamos la ECDF mediante una interpolación lineal entre los límites de las clases. Esto genera una línea quebrada llamada polígono de frecuencias acumuladas (u ojiva).

La fórmula general de interpolación para un valor \(x\) dentro de la clase \(j = [x_j^l, x_j^u]\) es:

\[F(x) = F(x_j^l) + \frac{x - x_j^l}{x_j^u - x_j^l} \cdot f(x_j)\]

Donde:

  • \(x_j^l\) y \(x_j^u\) son los límites inferior y superior de la clase.
  • \(F(x_j^l)\) es la frecuencia relativa acumulada hasta la clase anterior.
  • \(f(x_j)\) es la frecuencia relativa de la clase actual.

Nota: Esta fórmula es la base para estimar cuantiles en datos agrupados. Si despejamos \(x\) para un valor de \(F(x) = p\), obtenemos el valor del cuantil correspondiente.

Aplicando esto a nuestros datos:

\[F(x) = \begin{cases} 0 & \text{si } x \leq 0 \\ \frac{x - 0}{100} \cdot 0.01 & \text{si } 0 < x \leq 100 \\ 0.01 + \frac{x - 100}{400} \cdot 0.24 & \text{si } 100 < x \leq 500 \\ 0.25 + \frac{x - 500}{500} \cdot 0.45 & \text{si } 500 < x \leq 1000 \\ 0.70 + \frac{x - 1000}{3000} \cdot 0.30 & \text{si } 1000 < x \leq 4000 \\ 1 & \text{si } x > 4000 \end{cases}\]

Figura 1.2: Polígono de frecuencias acumuladas (ECDF interpolada)

1.6 Histogramas y Gráficos de Densidad

Para variables continuas agrupadas en clases, el histograma es la forma estándar de visualización.

1.6.1 Construcción de Histogramas

NotaDefinición: Histograma

Un histograma es una representación gráfica de una distribución de frecuencias para datos agrupados. Se construye de la siguiente manera:

  • Eje X: límites de las clases \(x_j^l, x_j^u\)
  • Eje Y: densidad de frecuencia (frecuencia dividida por la amplitud de la clase)

Densidad de frecuencia absoluta: \[\hat{h}(x_j) = \frac{h(x_j)}{\Delta x_j} = \frac{h(x_j)}{x_j^u - x_j^l}\]

Densidad de frecuencia relativa: \[\hat{f}(x_j) = \frac{f(x_j)}{\Delta x_j} = \frac{f(x_j)}{x_j^u - x_j^l}\]

Propiedad fundamental: El área de cada rectángulo representa la frecuencia (relativa o absoluta), y el área total del histograma es igual a \(n\) (si usamos densidades absolutas) o \(1\) (si usamos densidades relativas).

\[\sum_{j=1}^{k} \hat{f}(x_j) \cdot \Delta x_j = \sum_{j=1}^{k} f(x_j) = 1\]

TipEjemplo 1.7: Índice de Masa Corporal (IMC)

Se recopilaron los IMC de 274 pacientes. Los datos se clasifican en intervalos según los criterios de la OMS:

IMC (kg/m²) \(h_j\) \(f_j\) \(\Delta x_j\) \(\hat{f}(x_j)\)
0 – 18.5 (Bajo peso) 15 0.055 18.5 0.0030
18.5 – 25 (Normal) 93 0.339 6.5 0.0522
25 – 30 (Sobrepeso) 92 0.336 5 0.0672
30 – 35 (Obesidad I) 54 0.197 5 0.0394
35 – 50 (Obesidad II/III) 20 0.073 15 0.0049
Total 274 1.000

Interpretación: La densidad más alta está en la clase de “Sobrepeso”, indicando que ese intervalo tiene la mayor concentración de pacientes en esta muestra.

Cuadro 1.3: Código R para histograma de IMC
Código R para histograma de IMC
# Simular datos de IMC basados en la tabla
imc <- c(runif(15, 15, 18.5), runif(93, 18.5, 25), runif(92, 25, 30),
         runif(54, 30, 35), runif(20, 35, 50))

# Crear histograma con densidad
hist(imc, breaks = c(0, 18.5, 25, 30, 35, 50),
     freq = FALSE,
     main = "Histograma: Índice de Masa Corporal (IMC)",
     xlab = "IMC (kg/m²)",
     ylab = "Densidad de Frecuencia",
     col = "lightgreen",
     border = "darkgreen")

:::

1.6.2 Histograma vs Gráfico de Densidad

TipEjemplo 1.8: Visualización en R
Cuadro 1.4: Comparación de gráficos
Comparación de gráficos
# Simular datos de Presión Arterial Diastólica (en mmHg)
set.seed(42)
pad <- rnorm(200, mean = 80, sd = 10)

# Configurar área de trazado para 2 gráficos
par(mfrow = c(1, 2))

# Histograma
hist(pad, breaks = 20, freq = FALSE,
     main = "Histograma de PAD",
     xlab = "Presión Diastólica (mmHg)",
     ylab = "Densidad",
     col = "salmon")

# Gráfico de densidad suavizada
plot(density(pad),
     main = "Gráfico de Densidad",
     xlab = "Presión Diastólica (mmHg)",
     ylab = "Densidad",
     lwd = 2, col = "darkred")
polygon(density(pad), col = rgb(1, 0, 0, 0.3))

Cuadro 1.5: Comparación de gráficos
Comparación de gráficos
# Restaurar configuración
par(mfrow = c(1, 1))

1.7 Clasificación de Medidas Estadísticas

Para describir una distribución, utilizamos diferentes medidas que resumen la información.

NotaClasificación: Tendencia Central vs. Posición
  • Medidas de Tendencia Central: Buscan identificar el “valor representativo” o centro de la distribución.
    • Media (\(\bar{x}\)): Promedio aritmético.
    • Mediana (\(\tilde{x}\)): Valor central (posición central).
    • Moda (\(Mo\)): Valor más frecuente.
  • Medidas de Posición (No central): Indican la posición de un valor respecto al conjunto de datos, permitiendo dividir la distribución en partes iguales.
    • Cuartiles (\(Q_1, Q_2, Q_3\)): Dividen los datos en 4 partes iguales.
    • Percentiles (\(P_k\)): Dividen los datos en 100 partes iguales.
  • Sesgo (Skewness): Medida de asimetría.
    • Simétrica: Media \(\approx\) Mediana.
    • Sesgo Derecha (Positivo): Media > Mediana.
    • Sesgo Izquierda (Negativo): Media < Mediana.
  • Curtosis (Kurtosis): Medida del grado de apuntamiento o concentración en las colas.

1.8 Medidas de Posición Central

Las medidas de posición central nos indican dónde se concentran los datos. Son fundamentales para resumir la tendencia central de una distribución.

1.8.1 Media Aritmética

NotaDefinición: Media Aritmética

La media aritmética de una muestra \(x_1, x_2, \ldots, x_n\) es:

\[\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\]

Representa el “centro de gravedad” de los datos. Es la suma de todos los valores dividida por el número total de observaciones.

Para datos en una distribución de frecuencias:

\[\bar{x} = \frac{1}{n}\sum_{j=1}^{k} x_j h(x_j) = \sum_{j=1}^{k} x_j f(x_j)\]

donde \(x_j\) es el valor distintivo y \(h(x_j)\) es su frecuencia absoluta.

AdvertenciaPropiedades Algebraicas de la Media
  1. Propiedad de desviación nula: \[\sum_{i=1}^{n}(x_i - \bar{x}) = 0\]

    Las desviaciones positivas y negativas de la media se cancelan.

  2. Propiedad de suma: Si \(z_i = x_i + y_i\), entonces: \[\bar{z} = \bar{x} + \bar{y}\]

1.8.2 Media para Datos Agrupados

NotaDefinición: Media Aproximada para Datos Binned

Cuando solo disponemos de datos agrupados en clases, aproximamos la media usando la marca de clase. Equivalentemente, en términos de frecuencias absolutas \(n_j\) o relativas \(f_j = n_j/n\):

\[\bar{x} = \frac{1}{n}\sum_{j=1}^{k} x_j \cdot n_j \;=\; \sum_{j=1}^{k} x_j \cdot f_j\]

donde \(x_j\) es la marca de clase (punto medio del intervalo \(j\)): \[x_j = \frac{x_j^l + x_j^u}{2}\]

y \(n_j\) es el número de observaciones en la clase \(j\) (\(f_j\) la frecuencia relativa correspondiente). El Ejemplo 1.9 utiliza la versión con frecuencias relativas.

Nota: Esta es una aproximación porque asumimos que todas las observaciones en una clase están concentradas en su punto medio.

TipEjemplo 1.9: Tiempo de Estancia Hospitalaria

Se estudia el tiempo de estancia (en días) de una muestra de pacientes en una unidad de cuidados intensivos. La distribución es:

Intervalo (días) Marca de Clase (\(x_j\)) \(f(x_j)\) Contribución
1 – 3 2 0.20 \(2 \times 0.20 = 0.40\)
3 – 7 5 0.45 \(5 \times 0.45 = 2.25\)
7 – 14 10.5 0.25 \(10.5 \times 0.25 = 2.625\)
14 – 30 22 0.08 \(22 \times 0.08 = 1.76\)
30 – 60 45 0.02 \(45 \times 0.02 = 0.90\)

Media aproximada: \[\bar{x} = 0.40 + 2.25 + 2.625 + 1.76 + 0.90 = 7.935 \text{ días}\]

Cuadro 1.6: Cálculo de estancia media en R
Cálculo de estancia media en R
# Datos
marca_clase <- c(2, 5, 10.5, 22, 45)
frecuencia_rel <- c(0.20, 0.45, 0.25, 0.08, 0.02)

# Media
media_estancia <- sum(marca_clase * frecuencia_rel)
print(paste("Media de estancia aproximada:",
            round(media_estancia, 3), "días"))
[1] "Media de estancia aproximada: 7.935 días"

1.8.3 Moda

NotaDefinición: Moda

La moda \(x_D\) es el valor más frecuente en un conjunto de observaciones:

\[x_D = \{x_j \mid h(x_j) = \max_k h(x_k) \text{ o } f(x_j) = \max_k f(x_k)\}\]

Es útil para variables nominales, ordinales, discretas o clasificadas, pero no es apropiada para variables continuas.

Para datos agrupados, hablamos de la clase modal (la clase con la frecuencia más alta) y estimamos la moda como la marca de clase.

TipEjemplo 1.10: Moda en Tiempo de Supervivencia

Usando la tabla de supervivencia del Ejemplo 1.6:

Intervalo (días) \(h_j\)
0 – 100 1
100 – 500 24
500 – 1000 45 (máximo)
1000 – 4000 30
  • Clase modal: 500 – 1000 días
  • Moda estimada: \(x_D = 750\) días (marca de clase)

1.8.4 Mediana

NotaDefinición: Mediana

La mediana \(x_{0.5}\) es el valor que divide los datos ordenados en dos partes de igual tamaño: 50% de las observaciones están por debajo y 50% están por encima.

Para datos no agrupados:

  • Si \(n\) es impar: \[x_{0.5} = x_{\left(\frac{n+1}{2}\right)}\]

  • Si \(n\) es par: \[x_{0.5} = \frac{1}{2}\left\{x_{\left(\frac{n}{2}\right)} + x_{\left(\frac{n}{2}+1\right)}\right\}\]

donde \(x_{(i)}\) es la \(i\)-ésima observación cuando los datos están ordenados de menor a mayor.

Ventaja: La mediana es robusta (insensible a outliers), a diferencia de la media.

TipEjemplo 1.11: Cálculo de Mediana

Conjunto (n par): 115, 118, 120, 122, 124, 125, 128, 129, 130, 135

Datos ya ordenados. Con \(n = 10\) (par): \[x_{0.5} = \frac{1}{2}(x_{(5)} + x_{(6)}) = \frac{1}{2}(124 + 125) = 124.5 \text{ mmHg}\]

Cuadro 1.7: Cálculo de mediana en R
Cálculo de mediana en R
pas <- c(120, 125, 118, 130, 122, 128, 115, 135, 124, 129)
mediana_pas <- median(pas)
print(paste("Mediana de PAS:", mediana_pas, "mmHg"))
[1] "Mediana de PAS: 124.5 mmHg"

1.8.5 Relación entre Media, Mediana y Moda

La siguiente figura ilustra la posición relativa de la media, mediana y moda según el sesgo de la distribución:

Figura 1.3: Relación entre media, mediana y moda según el sesgo

1.9 Medidas de Forma: Sesgo y Curtosis

Además de la tendencia central y la dispersión, la forma de la distribución es crucial para entender el comportamiento de los datos.

Coeficiente de Asimetría (Sesgo)

Mide el grado de simetría de la distribución respecto a su media. El coeficiente de asimetría de Fisher se define como:

\[g_1 = \frac{\frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^3}{s^3}\]

donde \(s\) es la desviación típica.

Interpretación:

  • \(g_1 = 0\): La distribución es simétrica.
  • \(g_1 > 0\): Asimetría positiva (sesgo a la derecha). La cola derecha es más larga.
  • \(g_1 < 0\): Asimetría negativa (sesgo a la izquierda). La cola izquierda es más larga.

Curtosis o Apuntamiento

Mide el grado de concentración de los valores alrededor de la zona central de la distribución y el “peso” de las colas. La curtosis de Pearson se define como:

\[g_2 = \frac{\frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^4}{s^4}\]

En muchos paquetes estadísticos (incluido R) se utiliza también la curtosis en exceso o curtosis de Fisher, \(g_2 - 3\), que centra la referencia en cero para la distribución normal.

Interpretación (Curtosis en exceso):

  • \(g_2 - 3 = 0\): Mesocúrtica. El apuntamiento es similar al de una distribución normal.
  • \(g_2 - 3 > 0\): Leptocúrtica. La distribución es más apuntada y tiene colas más gruesas (“pesadas”) que la normal.
  • \(g_2 - 3 < 0\): Platicúrtica. La distribución es más plana y tiene colas más delgadas que la normal.

1.9.1 Cálculo con R

Cuadro 1.8: Cálculo de estadísticos básicos
Mostrar el código
library(moments)
library(dplyr)

# Datos de ejemplo
datos <- c(120, 125, 118, 130, 122, 128, 115, 135, 124, 129, 150)

# Resumen básico
resumen <- data.frame(
  Media = mean(datos),
  Mediana = median(datos),
  Sesgo = skewness(datos), # g1
  Curtosis = kurtosis(datos), # g2 (Pearson, restar 3 para exceso)
  Curtosis_Exceso = kurtosis(datos) - 3
)
print(resumen)
     Media Mediana    Sesgo Curtosis Curtosis_Exceso
1 126.9091     125 1.191328  4.14324         1.14324

1.9.2 Cuantiles

NotaDefinición: Cuantiles

El cuantil \(x_p\) es el valor que divide los datos ordenados en la proporción \(p\) a \((1-p)\), donde \(0 \leq p \leq 1\).

  • Debajo del cuantil \(x_p\) se encuentran aproximadamente \(p \times 100\%\) de los datos
  • Arriba del cuantil \(x_p\) se encuentran aproximadamente \((1-p) \times 100\%\) de los datos

Cuantiles especiales:

  • Cuartiles: \(p = 0.25, 0.50, 0.75\) (dividen en 4 partes)

    • \(x_{0.25}\) = primer cuartil (Q1)
    • \(x_{0.50}\) = mediana
    • \(x_{0.75}\) = tercer cuartil (Q3)
  • Deciles: \(p = 0.1, 0.2, \ldots, 0.9\) (dividen en 10 partes)

  • Percentiles: \(p = 0.01, 0.02, \ldots, 0.99\) (dividen en 100 partes)

TipEjemplo 1.12: Cuartiles de Supervivencia

Con la distribución agrupada de supervivencia del Ejemplo 1.6, podemos aproximar los cuartiles usando interpolación en la ECDF. Nota: el chunk de R a continuación simula datos inspirados en esa distribución (no idénticos), por lo que los valores observados son cercanos pero no exactamente iguales a los obtenidos por la fórmula analítica.

Para el primer cuartil (\(p = 0.25\)):

  • \(F(x_j^l) = 0.01\) (límite inferior de clase 100–500)
  • \(f(x_j) = 0.24\) (frecuencia relativa de clase 100–500)
  • Fórmula: \(x_{0.25} = x_j^l + \frac{p - F(x_j^l)}{f(x_j)} \cdot \Delta x_j\)

\[x_{0.25} = 100 + \frac{0.25 - 0.01}{0.24} \times 400 = 100 + 400 = 500 \text{ días}\]

Cuadro 1.9: Cálculo de cuantiles
Cálculo de cuantiles
# Generamos los mismos datos que en el Ejemplo 1.4.2
set.seed(42)
supervivencia <- c(
  runif(1, 0, 100),
  runif(24, 100, 500),
  runif(45, 500, 1000),
  runif(25, 1000, 2000),
  3200, 3500, 3700, 3800, 3950
)

Q1 <- quantile(supervivencia, probs = 0.25)
Q2 <- quantile(supervivencia, probs = 0.50)
Q3 <- quantile(supervivencia, probs = 0.75)

print(paste("Q1 (25%):", round(Q1, 2)))
[1] "Q1 (25%): 500.37"
Cuadro 1.10: Cálculo de cuantiles
Cálculo de cuantiles
print(paste("Q2 (50%, mediana):", round(Q2, 2)))
[1] "Q2 (50%, mediana): 828.9"
Cuadro 1.11: Cálculo de cuantiles
Cálculo de cuantiles
print(paste("Q3 (75%):", round(Q3, 2)))
[1] "Q3 (75%): 1086.7"
TipVisualización: Diagrama de Caja (Boxplot)

El diagrama de caja (boxplot) es una herramienta robusta para visualizar la distribución, la mediana, los cuartiles y detectar valores atípicos (outliers) de forma intuitiva.

Cuadro 1.12: Boxplot mejorado con ggplot2
Boxplot con ggplot2
library(ggplot2)

# Crear un data frame con los datos de supervivencia
df <- data.frame(supervivencia = supervivencia)

# Visualización con ggplot2 y labels para cuartiles
ggplot(df, aes(y = supervivencia)) +
  geom_boxplot(fill = "steelblue", alpha = 0.7, 
               outlier.colour = "red", outlier.shape = 16, outlier.size = 3) +
  labs(title = "Distribución del Tiempo de Supervivencia",
       subtitle = "Se observan outliers en la parte superior",
       y = "Días",
       x = "") +
  theme_minimal() +
  coord_flip() # Para orientación horizontal

TipLectura del Boxplot

Un boxplot divide los datos en:

  • Caja: Contiene el 50% central (IQR: de \(Q_1\) a \(Q_3\)).
  • Línea central: Mediana.
  • Bigotes: Extienden hasta 1.5 veces el IQR.
  • Puntos (outliers): Valores fuera del rango de los bigotes.

1.10 Comparación de Medidas de Posición

AdvertenciaRobustez de las Medidas de Tendencia Central

La media es muy sensible a valores extremos (outliers):

  • Fácil de calcular algebraicamente
  • Propiedad de suma útil para combinación de datos
  • Se ve afectada por datos atípicos

La mediana es robusta:

  • Insensible a outliers
  • Más representativa en distribuciones asimétricas
  • Requiere ordenar los datos

La moda es útil para datos categóricos pero limitado para continuos.

Recomendación: En presencia de outliers, la mediana es preferible a la media como medida de tendencia central.


1.11 Resumen de Conceptos Clave

1.11.1 Tabla Resumen: Escalas de Medición y Estadísticos Apropiados

Tipo de Variable Ejemplos Estadísticos Apropiados
Nominal Género, grupo sanguíneo Moda, frecuencias
Ordinal Satisfacción, grado Mediana, moda, cuantiles
Discreta Número de eventos Media, mediana, varianza
Continua Peso, presión arterial Media, mediana, varianza, cuantiles

1.11.2 Tabla Resumen: Fórmulas Importantes

Estadístico Datos No Agrupados Datos Agrupados (Intervalos)
Media (\(\bar{x}\)) \(\frac{1}{n}\sum_{i=1}^{n} x_i\) \(\sum_{j=1}^{k} x_j f_j\) (\(x_j\): marca clase)
Mediana/Cuantil (\(x_p\)) Valor en pos. ordenado \(x_j^l + \frac{p - F(x_j^l)}{f(x_j)} \cdot \Delta x_j\)
Moda (\(Mo\)) Valor con máx. \(h_j\) Marca de la clase modal
ECDF (\(F(x)\)) Función escalonada Interpolación lineal (ojiva)
Sesgo (\(g_1\)) \(\frac{\frac{1}{n} \sum (x_i - \bar{x})^3}{s^3}\) (Aprox. marcas de clase)
Curtosis (\(g_2\)) \(\frac{\frac{1}{n} \sum (x_i - \bar{x})^4}{s^4}\) (Aprox. marcas de clase)

1.12 Ejercicios

TipEjercicio 1.1: Conceptos Fundamentales

Define con tus propias palabras (desde una perspectiva clínica): a) La diferencia entre una variable y un valor (ej. Glucemia) b) Por qué necesitamos distinguir entre población y muestra en un ensayo clínico c) Qué es un outlier y cómo podría afectar a la media de una serie de mediciones de tensión arterial

TipEjercicio 1.2: Identificación de Escalas

Para cada una de las siguientes variables clínicas, identifica la escala de medición (nominal, ordinal, discreta, continua) y justifica tu respuesta:

  1. Número de episodios asmáticos al año
  2. Gravedad de una quemadura (Primer, Segundo, Tercer grado)
  3. Concentración de hemoglobina en sangre (g/dL)
  4. Factor Rh (Positivo, Negativo)
  5. Escala de coma de Glasgow (puntuación de 3 a 15)
TipEjercicio 1.3: Cálculo de la Media

Se registraron los tiempos de espera (en minutos) en urgencias de 8 pacientes: 12, 8, 15, 10, 7, 14, 9, 11

  1. Calcula la media aritmética
  2. Ordena los datos y encuentra la mediana
  3. ¿Cuál es más representativa en este caso? ¿Por qué?
Cuadro 1.13: Solución en R
Solución en R
tiempos <- c(12, 8, 15, 10, 7, 14, 9, 11)
media <- mean(tiempos)
mediana <- median(tiempos)
cat("Media:", media, "\n")
Media: 10.75 
Cuadro 1.14: Solución en R
Solución en R
cat("Mediana:", mediana, "\n")
Mediana: 10.5 
TipEjercicio 1.4: Tabla de Frecuencias

Los siguientes datos representan el número de admisiones hospitalarias previas para 20 pacientes crónicos: 3, 2, 5, 2, 4, 3, 6, 2, 3, 4, 5, 2, 3, 4, 2, 5, 3, 6, 4, 2

  1. Construye una tabla de frecuencias (absoluta, relativa, acumulada)
  2. ¿Cuál es la moda (número más frecuente de admisiones)?
  3. ¿Qué proporción de pacientes tuvieron 3 o menos admisiones?
TipEjercicio 1.5: Datos Agrupados

Se agrupan los niveles de glucosa en ayunas (mg/dL) de 100 pacientes en riesgo de diabetes:

Intervalo (mg/dL) Frecuencia (\(h_j\))
70 – 90 15
90 – 100 32
100 – 110 35
110 – 126 15
126 – 150 3
  1. Calcula la media aproximada de la glucemia
  2. Identifica la clase modal
  3. Estima el percentil 50 (mediana) usando interpolación
Tip
Cuadro 1.15: Solución en R
Solución en R
# Datos
marca_clase <- c(80, 95, 105, 118, 138)
frecuencia <- c(15, 32, 35, 15, 3)
n <- sum(frecuencia)

# Media
media_aprox <- sum(marca_clase * frecuencia) / n
print(paste("Media aproximada:", round(media_aprox, 2), "mg/dL"))
[1] "Media aproximada: 100.99 mg/dL"
Cuadro 1.16: Solución en R
Solución en R
# Frecuencia relativa acumulada
freq_rel <- frecuencia / n
freq_acum <- cumsum(freq_rel)

# Clase que contiene la mediana (F >= 0.5)
print(data.frame(Clase = c("70-90", "90-100", "100-110", "110-126", "126-150"),
                 Frecuencia = frecuencia,
                 F_acum = freq_acum))
    Clase Frecuencia F_acum
1   70-90         15   0.15
2  90-100         32   0.47
3 100-110         35   0.82
4 110-126         15   0.97
5 126-150          3   1.00
TipEjercicio 1.6: Interpretación de Histograma

Considera el histograma de IMC del Ejemplo 1.7:

  1. ¿Qué clase tiene la mayor densidad de pacientes?
  2. ¿Qué porcentaje de pacientes tienen un IMC inferior a 25 (Normal o bajo peso)?
  3. ¿En qué rango se encuentra el 25% de pacientes con menor IMC?

1.13 Respuestas a los Ejercicios

Ejercicio 1.1: Conceptos a) Variable: Característica (Glucemia). Valor: Resultado medido (105 mg/dL). b) Población: Todos los pacientes con la patología. Muestra: Los que participan en el estudio. c) Un outlier (ej. una medición de 220/120 por error de manguito) elevaría artificialmente la media, haciendo que la tensión promedio parezca más alta de lo que realmente es.

Ejercicio 1.2: Escalas a) Discreta (conteo de eventos). b) Ordinal (hay un orden de gravedad). c) Continua (puede tomar cualquier valor decimal). d) Nominal (categorías sin orden). e) Ordinal (puntuación con orden intrínseco).

Ejercicio 1.3: Tiempos de espera a) Media = 86 / 8 = 10.75 min. b) Ordenados: 7, 8, 9, 10, 11, 12, 14, 15. Mediana = (10+11)/2 = 10.5 min. c) Ambas son similares porque no hay outliers extremos.

Ejercicio 1.4: Admisiones a)

Admisiones \(h_j\) \(f_j\) \(H_j\) \(F_j\)
2 6 0.30 6 0.30
3 5 0.25 11 0.55
4 4 0.20 15 0.75
5 3 0.15 18 0.90
6 2 0.10 20 1.00
Total 20 1.00
  1. Moda = 2 admisiones (\(h_j=6\)). c) Proporción = \(F_3 = 0.55\) (55%).

Ejercicio 1.5: Glucemia a) Media ≈ 100.99 mg/dL (cálculo: \((80{\cdot}15 + 95{\cdot}32 + 105{\cdot}35 + 118{\cdot}15 + 138{\cdot}3)/100\)). b) Clase modal: 100-110 mg/dL (\(h_j = 35\)). c) P₅₀ ≈ 100 + (0.50 - 0.47)/0.35 · 10 ≈ 100.86 mg/dL (la mediana cae en la clase 100-110, donde \(F\) pasa de 0.47 a 0.82).

Ejercicio 1.6: IMC (Ejemplo 1.7) a) Sobrepeso (25-30) con densidad 0.0672. b) \(F(25) = 0.055 + 0.339 = 0.394\) (39.4%). c) En el rango de 0 a 25 (específicamente, el P₂₅ está en la clase “Normal”).

Fin de Semana 1

Para referencias avanzadas sobre análisis exploratorio de datos y estimación robusta, consulta: Robust Estimation of Location