R: Estadística

Domina la estadística con R: análisis, visualización y pruebas estadísticas para interpretar datos con precisión y eficacia.

Aprende R GRATIS y certifícate

Estadística con R

La estadística constituye el fundamento matemático para el análisis de datos, y R se ha consolidado como el lenguaje de programación más utilizado en este campo. Su diseño específico para el análisis estadístico y la visualización de datos lo convierte en una herramienta esencial para cualquier profesional que trabaje con información cuantitativa.

R ofrece un ecosistema completo para realizar desde estadísticas descriptivas básicas hasta análisis complejos de modelado predictivo. Su sintaxis intuitiva permite que incluso usuarios sin experiencia previa en programación puedan comenzar a explorar datos de manera efectiva.

Estadística descriptiva básica

La estadística descriptiva nos ayuda a resumir y comprender las características principales de un conjunto de datos. R proporciona funciones integradas que facilitan estos cálculos fundamentales.

Las medidas de tendencia central son el punto de partida para cualquier análisis:

# Datos de ejemplo: calificaciones de estudiantes
calificaciones <- c(85, 92, 78, 96, 88, 91, 84, 89, 93, 87)

# Media aritmética
media <- mean(calificaciones)
print(media)  # 88.3

# Mediana
mediana <- median(calificaciones)
print(mediana)  # 88.5

La variabilidad de los datos es igualmente importante para comprender su distribución:

# Desviación estándar
desviacion <- sd(calificaciones)
print(desviacion)  # 5.46

# Varianza
varianza <- var(calificaciones)
print(varianza)  # 29.79

# Rango
rango <- range(calificaciones)
print(rango)  # 78 96

Análisis de distribuciones

R facilita el trabajo con distribuciones de probabilidad, elemento clave en el análisis estadístico. Las funciones integradas permiten calcular probabilidades y generar valores aleatorios de manera sencilla.

Para la distribución normal, una de las más importantes en estadística:

# Generar 100 valores de una distribución normal
# con media 50 y desviación estándar 10
valores_normales <- rnorm(100, mean = 50, sd = 10)

# Calcular la probabilidad de que un valor sea menor a 45
prob <- pnorm(45, mean = 50, sd = 10)
print(prob)  # 0.31

La distribución uniforme es útil para simulaciones y muestreo aleatorio:

# Generar 50 valores entre 1 y 100
valores_uniformes <- runif(50, min = 1, max = 100)

# Verificar la distribución
summary(valores_uniformes)

Visualización estadística básica

La visualización es fundamental para interpretar resultados estadísticos. R ofrece funciones gráficas que permiten crear visualizaciones informativas con pocas líneas de código.

El histograma muestra la distribución de frecuencias:

# Crear un histograma de las calificaciones
hist(calificaciones, 
     main = "Distribución de Calificaciones",
     xlab = "Calificación",
     ylab = "Frecuencia",
     col = "lightblue")

Los diagramas de caja revelan la distribución y valores atípicos:

# Crear un boxplot
boxplot(calificaciones,
        main = "Distribución de Calificaciones",
        ylab = "Calificación",
        col = "lightgreen")

Correlación y relaciones entre variables

El análisis de correlación permite identificar relaciones lineales entre variables numéricas. R proporciona herramientas sencillas para calcular y visualizar estas relaciones.

# Datos de ejemplo: horas de estudio y calificaciones
horas_estudio <- c(2, 4, 1, 6, 3, 5, 2, 4, 6, 3)
calificaciones <- c(78, 85, 72, 94, 81, 89, 76, 87, 96, 83)

# Calcular correlación
correlacion <- cor(horas_estudio, calificaciones)
print(correlacion)  # 0.89

# Crear un gráfico de dispersión
plot(horas_estudio, calificaciones,
     main = "Relación entre Horas de Estudio y Calificaciones",
     xlab = "Horas de Estudio",
     ylab = "Calificación",
     pch = 16,
     col = "blue")

Pruebas estadísticas fundamentales

Las pruebas de hipótesis son herramientas esenciales para tomar decisiones basadas en datos. R incluye funciones para realizar las pruebas más comunes de manera directa.

La prueba t compara medias entre grupos:

# Comparar calificaciones de dos grupos
grupo_a <- c(85, 87, 82, 90, 88)
grupo_b <- c(78, 81, 76, 84, 79)

# Realizar prueba t
resultado_t <- t.test(grupo_a, grupo_b)
print(resultado_t$p.value)  # Valor p

La prueba de normalidad verifica si los datos siguen una distribución normal:

# Prueba de Shapiro-Wilk
normalidad <- shapiro.test(calificaciones)
print(normalidad$p.value)

Muestreo y simulación

El muestreo es fundamental en estadística aplicada. R facilita la selección de muestras representativas y la simulación de escenarios.

# Crear una población de datos
poblacion <- 1:1000

# Seleccionar una muestra aleatoria
muestra <- sample(poblacion, size = 50)

# Muestreo estratificado simple
set.seed(123)  # Para reproducibilidad
muestra_estratificada <- sample(poblacion, size = 100, replace = FALSE)

La simulación Monte Carlo permite modelar situaciones complejas:

# Simular el lanzamiento de una moneda 1000 veces
lanzamientos <- sample(c("Cara", "Cruz"), 1000, replace = TRUE)

# Calcular la proporción de caras
proporcion_caras <- sum(lanzamientos == "Cara") / length(lanzamientos)
print(proporcion_caras)
Empezar curso de R

Lecciones de este módulo de R

Lecciones de programación del módulo Estadística del curso de R.