Folder de trabajo
setwd("~/Documents/pye1pm")Paquetes
library(pacman)
p_load("datasets","DT","fdth","prettydoc","xfun","ggplot2","beanplot")Ejercicio #4: Análisis exploratorio de datos (EDA)
Utilizando el conjunto de datos de flores de lirios llamado IRIS
El conjunto de datos de iris es un famoso conjunto de datos de flores que se introdujo en 1936. Es una clasificación multivariada. Este dato proviene de: UCI Irvine Machine Learning Repository. https://archive.ics.uci.edu/ml/datasets/Iris
## Conociendo los datos
A traves de una tabla interactiva
datatable(airquality)a Través de una gráfica, usando ggplot2
df <- airqualityggplot(df, aes(Wind, Temp) ) + geom_point(aes(col=Month), size=4)Medidas exploratorias de tendencia central
summary(df)## Ozone Solar.R Wind Temp
## Min. : 1.00 Min. : 7.0 Min. : 1.700 Min. :56.00
## 1st Qu.: 18.00 1st Qu.:115.8 1st Qu.: 7.400 1st Qu.:72.00
## Median : 31.50 Median :205.0 Median : 9.700 Median :79.00
## Mean : 42.13 Mean :185.9 Mean : 9.958 Mean :77.88
## 3rd Qu.: 63.25 3rd Qu.:258.8 3rd Qu.:11.500 3rd Qu.:85.00
## Max. :168.00 Max. :334.0 Max. :20.700 Max. :97.00
## NA's :37 NA's :7
## Month Day
## Min. :5.000 Min. : 1.0
## 1st Qu.:6.000 1st Qu.: 8.0
## Median :7.000 Median :16.0
## Mean :6.993 Mean :15.8
## 3rd Qu.:8.000 3rd Qu.:23.0
## Max. :9.000 Max. :31.0
##
Visualización
histograma
hist(df$Wind,
col="steelblue",
main = "Histograma de velocidad del viento",
xlab= "Clases",
ylab = "Frecuencia absoluta")Diferentes maneras de realizsar histogramas
par(mfrow=c(1,3))
hist(iris$Petal.Length,breaks=seq(0,8,l=17),xlim=c(0,8),ylim=c(0,40))
hist(iris$Petal.Width,breaks=seq(0,8,l=17),xlim=c(0,8),ylim=c(0,40))
hist(iris$Sepal.Width,breaks=seq(0,8,l=17),xlim=c(0,8),ylim=c(0,40)) ## Gráfico de dispersión (scatterplot)
Crear un gráfico de dispersión de la anchura del sépalo (Sepal.Width) versus la longitud del sépalo (Sepal.length)
En este caso usaremos la función “plot”
plot(
iris$Petal.Width, iris$Petal.Length,
col = "pink",
Main = "Gráfico de dispersión de IRIS",
xlab = "Ancho del Sépalo",
ylab = "Longitud del Sépalo",
pch = 19
)## Warning in plot.window(...): "Main" is not a graphical parameter
## Warning in plot.xy(xy, type, ...): "Main" is not a graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "Main" is not a
## graphical parameter
## Warning in axis(side = side, at = at, labels = labels, ...): "Main" is not a
## graphical parameter
## Warning in box(...): "Main" is not a graphical parameter
## Warning in title(...): "Main" is not a graphical parameter
## Gráfico comparativo de tipo “beanplot”
xiris <-iris
xiris$Species <- NULL
beanplot(xiris, main="Mediciones de flores de lirios") ## Ancho de sépalo por especies de lirios utilizando un gráfico de caja y bigote
boxplot(Sepal.Length~Species,
data=iris,
main = "Longitud de Sépalo por especie de flor",
xlab = "Especie",
ylab = "Longitud del sépalo",
col = "orange",
border = "blue"
) ## Interpretando un gráfico de caja y bigote
Componentes del gráfico de caja y bigote
#Extracción de subconjuntos
irisVer <- subset(iris, Species == "versicolor")
irisVir <- subset(iris, Species == "virginica")
irisSet <- subset(iris, Species == "setosa")
par(mfrow=c(1,3),mar=c(6,3,2,1))
boxplot(irisVer[,1:4], main="Versicolor",ylim = c(0,8),las=2)
boxplot(irisSet[,1:4], main="Setosa",ylim = c(0,8),las=2)
boxplot(irisVir[,1:4], main="Virginica",ylim = c(0,8),las=2)Ejemplo usando otros datos
volcan <- volcano
beanplot(volcan, main ="Topografía del volcán")## log="y" selected
controls <- esoph$ncontrols
beanplot(controls, main ="Controles en cáncer de esófago")## log="y" selected
dioxido <-CO2
dioxido$Plant <- NULL
dioxido$Type <- NULL
dioxido$Treatment <- NULL
beanplot(dioxido, main="Concentración y emisión de CO2")## log="y" selected
Dióxido de carbono atmosférico