Variable Original: MSTATE

Nombre Variable: ESTADO_MINA

Tipo: Cualitativa Nominal

Justificación de la variable: El estado donde se ubica físicamente cada mina es la variable geográfica principal del proyecto.


0.- Carga de librerías

#Estadística descriptiva
#Variable cualitativa nominal: Estado de la Mina (MSTATE)
#Autor: Luis Cruz
#Fecha: 2026-07-05

library(dplyr)
library(gt)
library(knitr)

1.- Carga de datos

datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
                   sep = ";", stringsAsFactors = FALSE)

2.- Selección de la variable

Se selecciona la variable MSTATE y se agrupan los 50 estados en 8 regiones geográficas para mantener la tabla con máximo 10 filas (recomendación académica).

ESTADO_MINA <- trimws(as.character(datos$MSTATE))
ESTADO_MINA <- ESTADO_MINA[!is.na(ESTADO_MINA) & ESTADO_MINA != ""]
n <- length(ESTADO_MINA)

region <- character(length(ESTADO_MINA))

for (i in 1:length(ESTADO_MINA)) {
  if (ESTADO_MINA[i] %in% c("KY","WV","VA","PA","TN")) {
    region[i] <- "Appalachia"
  } else if (ESTADO_MINA[i] %in% c("AL","GA","MS","AR","LA","FL","SC","NC","TX","OK")) {
    region[i] <- "Sur"
  } else if (ESTADO_MINA[i] %in% c("OH","IN","NY","MD","NJ","CT","MA","VT","NH","ME","RI","DE")) {
    region[i] <- "Noreste"
  } else if (ESTADO_MINA[i] %in% c("IL","MO","KS","IA","MN","WI","ND","SD","NE","MI")) {
    region[i] <- "Centro"
  } else if (ESTADO_MINA[i] %in% c("AZ","NM","CO","UT","NV","CA")) {
    region[i] <- "Suroeste"
  } else if (ESTADO_MINA[i] %in% c("WA","OR","ID","MT","WY")) {
    region[i] <- "Noroeste"
  } else if (ESTADO_MINA[i] %in% c("AK","HI")) {
    region[i] <- "Alaska/Hawaii"
  } else {
    region[i] <- "Otros"
  }
}

3.- Frecuencia

TDF_Region <- as.data.frame(table(region))
colnames(TDF_Region) <- c("Region", "ni")

ni <- TDF_Region$ni
hi <- round(ni / sum(ni) * 100, 2)

# Ajuste matemático para forzar que la suma de 'hi' sea exactamente 100
diferencia <- 100 - sum(hi)
if (diferencia != 0) {
  pos_max <- which.max(ni)
  hi[pos_max] <- hi[pos_max] + diferencia
}

TDF_Region <- data.frame(Region = TDF_Region$Region, ni, hi) %>%
  arrange(desc(ni))

# Fila de resumen (TOTAL)
Summary <- data.frame(Region = "TOTAL", ni = sum(TDF_Region$ni), hi = sum(TDF_Region$hi))
TDF_Region_suma <- rbind(TDF_Region, Summary)

colnames(TDF_Region_suma) <- c("Región", "ni", "hi(%)")

4.- Tabla de distribución de frecuencias

TDF_Region_suma %>%
  gt() %>%
  tab_header(
    title    = md("Tabla Nro. 1"),
    subtitle = md("Distribución de frecuencias de la variable Estado de la Mina (MSTATE) para el análisis de la actividad minera y emisión de gases en Estados Unidos.")
  ) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(rows = Región == "TOTAL")
  ) %>%
  tab_source_note(source_note = md("Autor: Luis Cruz"))
Tabla Nro. 1
Distribución de frecuencias de la variable Estado de la Mina (MSTATE) para el análisis de la actividad minera y emisión de gases en Estados Unidos.
Región ni hi(%)
Appalachia 1506 51.57
Sur 464 15.88
Noreste 338 11.57
Suroeste 299 10.24
Centro 161 5.51
Noroeste 130 4.45
Alaska/Hawaii 20 0.68
Otros 3 0.10
TOTAL 2921 100.00
Autor: Luis Cruz

5.- Gráficos de distribución de frecuencia

5.1- Diagrama de cantidad

par(mar = c(8, 5, 4, 2))
barplot(TDF_Region$ni,
        names.arg = TDF_Region$Region,
        main = "Gráfica Nro. 1\nDistribución de cantidad por región geográfica\nen instalaciones mineras de Estados Unidos",
        xlab = "", ylab = "Cantidad (ni)",
        col = "#2E75B6",
        las = 2, cex.names = 0.9)

5.2- Diagramas procentuales

par(mar = c(8, 5, 4, 2))
barplot(TDF_Region$hi,
        names.arg = TDF_Region$Region,
        main = "Gráfica Nro. 2\nDistribución de cantidad en porcentaje\npor región geográfica en instalaciones mineras de Estados Unidos",
        xlab = "", ylab = "Porcentaje (%)",
        col = "#AEC6E8",
        las = 2, cex.names = 0.9,
        ylim = c(0, 100))

5.3- Diagrama circular

colores <- c("#1f78b4","#33a02c","#e31a1c","#ff7f00",
             "#6a3d9a","#b15928","#a6cee3","#b2df8a")

par(mar = c(5, 2, 4, 14), xpd = TRUE)
pie(TDF_Region$hi,
    labels = NA,
    col = colores[1:nrow(TDF_Region)],
    radius = 0.8,
    main = "Gráfica Nro. 3\nDistribución de cantidad en porcentaje\npor región geográfica")
legend("right",
       inset = c(-0.35, 0),
       legend = paste0(TDF_Region$Region, " (", TDF_Region$hi, "%)"),
       fill = colores[1:nrow(TDF_Region)],
       title = "REGIÓN",
       bty = "n", xpd = TRUE, cex = 0.8)

6.- Indicadores estadísticos

# Cálculo de la moda (Mo): la región con mayor frecuencia (ni)
Moda_row <- TDF_Region[which.max(TDF_Region$ni), ]
Mo <- as.character(Moda_row$Region[1])

tabla_indicadores <- data.frame(
  "Variable" = "Estado de la Mina (MSTATE)",
  "Rango" = "-",
  "X" = "-",
  "Me" = "-",
  "Mo" = Mo,
  "V" = "-",
  "Sd" = "-",
  "Cv" = "-",
  "As" = "-",
  "K" = "-",
  "Valores Atípicos" = "-"
)

kable(tabla_indicadores, align = 'c',
      caption = "Indicadores estadísticos de la variable Estado de la Mina (MSTATE)")
Indicadores estadísticos de la variable Estado de la Mina (MSTATE)
Variable Rango X Me Mo V Sd Cv As K Valores.Atípicos
Estado de la Mina (MSTATE) - - - Appalachia - - - - - -

7.- Conclusiones

En conclusión:

La variable estado de la mina fue agrupada en 8 regiones geográficas para facilitar su análisis. Siendo la región con mayor concentración es Appalachia, con 1506 instalaciones (51.57% del total).