R es un lenguaje de programación y entorno de software libre diseñado específicamente para el análisis estadístico, la visualización de datos y la computación científica. Fue desarrollado originalmente por Ross Ihaka y Robert Gentleman en la Universidad de Auckland, Nueva Zelanda, y actualmente es mantenido por el R Development Core Team. Su naturaleza de código abierto y la enorme comunidad de usuarios lo han convertido en una de las herramientas más utilizadas en estadística, ciencia de datos, bioinformática y muchas otras disciplinas científicas.
Una de las grandes fortalezas de R es su vasto ecosistema de paquetes. A través del repositorio oficial CRAN (Comprehensive R Archive Network), existen más de 20,000 paquetes disponibles que extienden las capacidades base del lenguaje para casi cualquier tarea analítica imaginable: desde modelos de aprendizaje automático hasta análisis de texto, pasando por gráficos de alta calidad con ggplot2. Esta riqueza de herramientas, combinada con la filosofía de ciencia reproducible impulsada por Quarto y R Markdown, hace de R una opción ideal para producir análisis transparentes y comunicables.
En este reporte, utilizaremos el dataset clásico iris para explorar conceptos fundamentales de estadística descriptiva. Aplicaremos medidas de tendencia central y dispersión, construiremos tablas resumidas y aprenderemos a presentar resultados de manera reproducible. El objetivo es familiarizarse con el flujo de trabajo completo: desde la exploración de datos hasta la presentación de resultados con ecuaciones y código documentado.
TipConsejo para el lector
Para sacar el máximo provecho de este reporte, activa la opción “Show Code” en cada sección (botón Code a la derecha de cada bloque). Verás exactamente el código R que genera cada resultado, lo que te permitirá replicarlo y adaptarlo a tus propios datos. ¡La reproducibilidad es la clave del análisis de datos moderno!
2 Descripción del Dataset
Code
library(dplyr)library(knitr)# Ver la estructura del datasetglimpse(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
Species
setosa :50
versicolor:50
virginica :50
El dataset iris es uno de los conjuntos de datos más famosos en estadística y aprendizaje automático. Fue introducido por el estadístico y biólogo Ronald Fisher en 1936 en su artículo “The use of multiple measurements in taxonomic problems”. Contiene mediciones morfológicas de flores de lirio recolectadas por el botánico Edgar Anderson.
El dataset cuenta con 150 observaciones (filas) y está compuesto por 5 variables: cuatro variables numéricas que registran las dimensiones (en centímetros) del sépalo y pétalo de cada flor (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), más una variable categórica (Species) que identifica a cuál de las 3 especies pertenece cada muestra: Iris setosa, Iris versicolor e Iris virginica. Cada especie está representada por exactamente 50 observaciones.
3 Estadística Descriptiva
Code
library(dplyr)library(knitr)# Calcular promedio de cada variable numérica agrupado por especietabla_resumen <- iris |>group_by(Species) |>summarise(`Sepal Length (cm)`=round(mean(Sepal.Length), 3),`Sepal Width (cm)`=round(mean(Sepal.Width), 3),`Petal Length (cm)`=round(mean(Petal.Length), 3),`Petal Width (cm)`=round(mean(Petal.Width), 3) ) |>rename(Especie = Species)# Mostrar como tabla formateadakable( tabla_resumen,caption ="Tabla 1. Promedio de variables morfológicas por especie en el dataset iris",align =c("l", "c", "c", "c", "c"))
Tabla 1. Promedio de variables morfológicas por especie en el dataset iris
Especie
Sepal Length (cm)
Sepal Width (cm)
Petal Length (cm)
Petal Width (cm)
setosa
5.006
3.428
1.462
0.246
versicolor
5.936
2.770
4.260
1.326
virginica
6.588
2.974
5.552
2.026
La tabla anterior muestra claramente las diferencias morfológicas entre las tres especies. Iris setosa presenta los pétalos más pequeños, mientras que Iris virginica tiene los sépalos y pétalos más grandes en promedio. Iris versicolor ocupa una posición intermedia. Estas diferencias hacen del dataset iris un ejemplo clásico para algoritmos de clasificación.
4 Ecuaciones
A continuación se presentan las fórmulas estadísticas fundamentales utilizadas en este análisis:
Donde \(\bar{x}\) es la media aritmética, \(s\) es la desviación estándar, \(n\) es el número de observaciones, \(x_i\) son los valores individuales, y \(CV\) es el coeficiente de variación expresado como porcentaje.
4.2 Cálculo para Sepal.Length
Code
# Extraer la variable de interésx <- iris$Sepal.Length# Media aritméticamedia <-mean(x)# Desviación estándardesv_std <-sd(x)# Coeficiente de variación (%)coef_var <- (desv_std / media) *100
Aplicando las fórmulas anteriores a la variable Sepal.Length del dataset iris (n = 150 observaciones):
Media aritmética (\(\bar{x}\)): 5.8433 cm
Desviación estándar (\(s\)): 0.8281 cm
Coeficiente de variación (\(CV\)): 14.17%
Un coeficiente de variación de 14.17% indica una dispersión relativamente baja respecto a la media, lo que sugiere que las longitudes del sépalo son bastante homogéneas a lo largo de las 150 flores medidas, aunque existen diferencias notables entre especies como se evidenció en la Sección 3.