Una de las primeras etapas en el análisis de datos es la exploración de los datos por medio de gráficos, en la cual se evidencian las características de las variables de manera directa y precisa. Los gráficos son extremadamente útiles para describir la distribución de un conjunto de datos.
En la estadística descriptiva se utilizan gráficas de diversos tipos dependiendo de las variables de estudio. Entre ellos se destacan los siguientes:
Las rutinas para realizar estos gráficos se encuentran disponibles en R.
Su objetivo principal es dar a entender de manera clara y sencilla el comportamiento de una o varias variables con el fin de identificar fácilmente patrones y anomalias como:
Se debe tener especial atención en las partes que conforman las gráficas, como el título principal, el título de los ejes, el color, el tamaño, y la escala.
En un diagrama de barras se representa cada categoría mediante una barra, de forma que su tamaño sea proporcional a la frecuencia.
Ver la rutina barplot en R.
En un diagrama de sectores se divide un círculo en tantas porciones como categorías, de forma que a cada clase le corresponda un sector del círculo con tamaño proporcional a la frecuencia de la clase.
Estos diagramas también se pueden utilizar para variables cuantitativas discretas cuando la cantidad de categorías lo permite.
Ver la rutina pie en R.
En la base de datos “births” del paquete “Epi”, se encuentran registrados los datos de 500 nacimientos en un hospital de Londres, para cada uno de estos 500 nacimientos se midieron las siguientes variables:
Para analizar la variable “sex”:
# Los datos se encuentran en el paquete "Epi" de R, por lo que primero se
# debe instalar y cargar dicho paquete.
# De necesitar instalarlo:
# install.packages("Epi")
library(Epi)## Warning: package 'Epi' was built under R version 4.0.2
# help(births)
data(births)
# tamaño de la muestra
n <- nrow(births)
# tabla de frecuencias relativas
tabla <- 100*table(births$sex)/n
names(tabla) <- c("Masculino","Femenino")
# addmargins agrega la columna con el total
print(round(x = addmargins(tabla), digits = 2))## Masculino Femenino Sum
## 52.8 47.2 100.0
# diagramas
par(mfrow = c(1,2))
barplot(height = tabla, xlab = "Sexo", ylab = "Porcentaje")
pie(x = tabla) Ahora, de manera conjunta, se caracteriza el sexo y el indicador de bajo peso al nacer:
# tabla de frecuencias relativas
tabla <- round(100*table(births$sex, births$lowbw)/n, 3)
rownames(tabla) <- c("Masculino","Femenino")
colnames(tabla) <- c("No","Si")
print(round(x = addmargins(tabla), digits = 2))##
## No Si Sum
## Masculino 47.4 5.4 52.8
## Femenino 40.6 6.6 47.2
## Sum 88.0 12.0 100.0
# diagrama de barras
barplot(height = tabla,xlab="Bajo peso al nacer", ylab = "Porcentaje",
legend.text = TRUE, beside = TRUE, args.legend = list(x = "topright"))Un histograma se construye a partir de la distribución de la frecuencias asociando a cada categoría un rectángulo que tiene a cada intervalo como base. El criterio para calcular la altura (densidad) de cada rectángulo es mantener la proporcionalidad entre la frecuencia y el área de cada intervalo. Las densidades satisfacen \[\sum_{j=1}^{m} a_j\,d_j = 1\] donde \(m\) es el número de intervalos, y \(a_j\) y \(d_j\) son respectivamente la amplitud y la densidad del intervalo \(j\).
Para seleccionar el número de categorías \(m\) se distinguen tres alternativas:
En un diagrama de caja:
Los histogramas y los diagramas de caja permiten caracterizar visualmente la localización, la dispersión, la simetría y los datos atípicos de una variable cuantitativa (por lo general continua).
A continuación se muestran las medidas de tendencia centrial y de localización, junto con el histograma y el diagrama de caja asociados con el peso de los bebés al nacer del ejemplo anterior.
# medidas de tendencia y localizacion
summary(births$bweight)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 628 2862 3188 3137 3551 4553
# diagramas
par(mfrow = c(1,2))
#freq = FALSE para representar las frecuencias relativas
hist(x = births$bweight, freq = FALSE,
xlab = "Peso al nacer (gr)", ylab = "Densidad", main = "")
boxplot(x = births$bweight, horizontal = TRUE, xlab = "Peso al nacer (gr)")La base de datos sinteticos.txt contiene los datos de cuatro variables cuantitativas \(x,y,z,v\) para una muestra de \(n=1,000\) individuos. Estas variables exhiben diferentes características en términos de tendencia, localización, variabilidad, y forma. A continuación se presentan las medidas de tendencia centrial y de localización, junto con el histograma y el diagrama de caja asociados con estas variables.
# importar datos
# recuerden actualizar el directorio de trabajo
datos <- read.table(file = "sinteticos.txt", header = TRUE)
# medidas de tendencia y localizacion
summary(datos)## x y z v
## Min. :-0.5863 Min. : 0.3239 Min. : 0.000 Min. : 2.183
## 1st Qu.: 3.6759 1st Qu.: 2.4776 1st Qu.: 7.470 1st Qu.: 4.916
## Median : 4.9763 Median : 3.5923 Median : 8.955 Median : 6.723
## Mean : 5.0371 Mean : 3.9291 Mean : 8.619 Mean : 7.828
## 3rd Qu.: 6.4439 3rd Qu.: 5.0778 3rd Qu.:10.070 3rd Qu.:10.942
## Max. :11.4681 Max. :12.5476 Max. :12.224 Max. :13.109
# histogramas y diagramas de caja
par(mfrow = c(4,2))
hist(x = datos$x, freq = FALSE, xlab = "x", ylab = "Densidad", main = "", xlim = range(datos$x))
boxplot(x = datos$x, horizontal = TRUE, xlab = "x", ylim = range(datos$x))
hist(x = datos$y, freq = FALSE, xlab = "y", ylab = "Densidad", main = "", xlim = range(datos$y))
boxplot(x = datos$y, horizontal = TRUE, xlab = "y", ylim = range(datos$y))
hist(x = datos$z, freq = FALSE, xlab = "z", ylab = "Densidad", main = "", xlim = range(datos$z))
boxplot(x = datos$z, horizontal = TRUE, xlab = "z", ylim = range(datos$y))
hist(x = datos$v, freq = FALSE, xlab = "v", ylab = "Densidad", main = "", xlim = range(datos$v))
boxplot(x = datos$v, horizontal = TRUE, xlab = "v", ylim = range(datos$v))