library(dslabs)
library(dplyr)
## 
## 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
library(viridis)
## Loading required package: viridisLite
library(viridisLite)
library(RColorBrewer)

Gráficos PLOTS

Variables cualitativas

Variables Ordinales

Variables Nominales

Variables cuantitativas

Variables Continuas

Variables Discretas

data("murders")

Descripción del Dataset

Variables cualitativas nominales: state, abb, region Varialbes cuantitativas discretas: population, total

Gráfico de Barras

tabla_region <- table(murders$region)
tabla_region
## 
##     Northeast         South North Central          West 
##             9            17            12            13
barplot(tabla_region, 
        main = "Gráfico de barras", 
        ylab = "Frecuencia", 
        xlab = "Regions", 
        ylim = c(0,20), 
        col = viridis(4))
grid(nx = NA, 
     ny = NULL,
     col = "lightgray",
     lty = "dotted")

Gráfico de torta

porcentajes <- round(tabla_region*100/sum(tabla_region),2)
pie(porcentajes,
    labels = paste(porcentajes, "%"),
    main = "Gráfico de torta",
    col = brewer.pal(4, "Paired"),
    border = brewer.pal(4, "Paired")
    )

legend("bottomright",
       legend = names(porcentajes), 
       fill = brewer.pal(4, "Paired"),
       border = brewer.pal(4, "Paired"))

Variables Cuantitativas

Histograma de Densidad de Población

# Cálculo de la media, mediana y moda
media <- mean(murders$population, na.rm = TRUE)
mediana <- median(murders$population, na.rm = TRUE)

# Definir una función para calcular la moda
moda <- function(x) {
  ux <- unique(na.omit(x)) # Eliminar NA y encontrar valores únicos
  ux[which.max(tabulate(match(x, ux)))]
}

moda_poblacion <- moda(murders$population)

## Histograma de densidad de población
hist(murders$population, 
     probability = TRUE,
     main = "Histograma de Population Density",
     breaks = "Sturges",
     xlab = "Population in US",
     col = brewer.pal(10, "Paired"),
     border = brewer.pal(10, "Paired"), 
     ylim = c(0,12e-08))
lines(density(murders$population),
      col = "black",
      lwd = 1)

# Líneas punteadas verticales para la media, mediana y moda
abline(v = media, col = "red", lwd = 2, lty = 2) 
abline(v = mediana, col = "blue", lwd = 2, lty = 2) 
abline(v = moda_poblacion, col = "green", lwd = 2, lty = 2) 

# Leyenda para las líneas
legend("topright", 
       legend = c("Media", "Mediana", "Moda"), 
       col = c("red", "blue", "green"), 
       lty = 2, 
       lwd = 2)

Análisis:

Este histograma muestra la densidad de la población en los diferentes estados de EE.UU. Se observan líneas verticales para destacar las medidas de tendencia central: media, mediana y moda. Media (línea roja): indica el promedio de la cantidad de habitantes en los estados. Si la media se encuentra sesgada hacia la derecha o izquierda del gráfico, indica una distribución no simétrica. Mediana (línea azul): representa el punto central de la población, donde el 50% de los estados tienen una población menor y el otro 50% tiene una población mayor. Moda (línea verde): muestra la población que ocurre con mayor frecuencia entre los estados.

Histograma de Frecuencia de Población

## Histograma de Frecuencia de población
hist(murders$population, 
     main = "Histograma de Population",
     breaks = 4,
     xlab = "Population in US",
     col = brewer.pal(4, "Paired"),
     border = brewer.pal(4, "Paired"),
     ylim = c(0,50))

Análisis:

Este histograma muestra la frecuencia de la población, dividiendo la población en rangos específicos (clases) y contando cuántos estados pertenecen a cada clase. El primer intervalo contiene la mayor cantidad de estados, indicando que muchos estados tienen poblaciones bajas. Y el último intervalo pocos estados, reflejando que son escasos los estados con poblaciones muy altas.