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)
Lecciones de este módulo
Explora todas las lecciones disponibles en Estadística
Explora más sobre R
Descubre más recursos de R

Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, R es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.