La base de datos iris es un conjunto de datos clásico y ampliamente utilizado en el aprendizaje de estadística, machine learning y visualización de datos. Fue introducida por el estadístico británico Ronald A. Fisher en 1936 en su artículo sobre análisis discriminante lineal.
Objetivo: Estudiar las características de tres especies de flores del género Iris y clasificar cada observación según la especie.
Número de observaciones: 150.
Número de variables: 5 (4 numéricas y 1 categórica).
Especies de flores:
Iris-setosa
Iris-versicolor
Iris-virginica
# Cargar el dataset
data(iris)
# Ver las primeras filas
head(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
# Histograma con líneas de densidad y personalización
hist(iris$Sepal.Length,
main = "Histograma de Longitud del Sépalo",
xlab = "Longitud del Sépalo (cm)",
ylab = "Frecuencia",
col = "lightgreen",
border = "black",
breaks = 10, # Número de intervalos
probability = TRUE) # Mostrar densidad en lugar de frecuencia
# Agregar una línea de densidad
lines(density(iris$Sepal.Length), col = "red", lwd = 2)
# Resumen estadístico básico del dataset iris
summary(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
##
##
##
# Asegúrate de cargar dplyr primero
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Resumen estadístico por especie
iris_grouped_summary <- iris %>%
group_by(Species) %>%
summarise(
Promedio_Sepal.Length = mean(Sepal.Length),
Desviacion_Sepal.Length = sd(Sepal.Length),
Promedio_Sepal.Width = mean(Sepal.Width),
Desviacion_Sepal.Width = sd(Sepal.Width)
)
# Ver el resumen
print(iris_grouped_summary)
## # A tibble: 3 × 5
## Species Promedio_Sepal.Length Desviacion_Sepal.Length Promedio_Sepal.Width
## <fct> <dbl> <dbl> <dbl>
## 1 setosa 5.01 0.352 3.43
## 2 versicolor 5.94 0.516 2.77
## 3 virginica 6.59 0.636 2.97
## # ℹ 1 more variable: Desviacion_Sepal.Width <dbl>