Variable Original: MINE_TYPE

Nombre Variable: TIPO_MINA

Tipo: Cualitativa Nominal

Justificación de la variable: El tipo de mina es clave para el proyecto porque diferentes modalidades de explotación generan distintos niveles de emisiones.


0.- Carga de librerías

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

library(dplyr)
library(stringr)
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 MINE_TYPE y se reemplazan sus códigos numéricos por etiquetas descriptivas.

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

etiquetas <- character(length(TIPO_MINA))

for (i in 1:length(TIPO_MINA)) {
  if (TIPO_MINA[i] == "1") {
    etiquetas[i] <- "1-Underground"
  } else if (TIPO_MINA[i] == "2") {
    etiquetas[i] <- "2-Surface"
  } else if (TIPO_MINA[i] == "3") {
    etiquetas[i] <- "3-Strip"
  } else if (TIPO_MINA[i] == "4") {
    etiquetas[i] <- "4-Auger"
  } else if (TIPO_MINA[i] == "5") {
    etiquetas[i] <- "5-Culm/Refuse"
  } else if (TIPO_MINA[i] == "6") {
    etiquetas[i] <- "6-Dredge"
  } else if (TIPO_MINA[i] == "10") {
    etiquetas[i] <- "10-In Situ"
  } else if (TIPO_MINA[i] == "11") {
    etiquetas[i] <- "11-Mill/Prep Plant"
  } else if (TIPO_MINA[i] == "12") {
    etiquetas[i] <- "12-Shops/Yards"
  } else {
    etiquetas[i] <- "Otro"
  }
}

3.- Frecuencia

TDF_Tipo <- as.data.frame(table(etiquetas))
colnames(TDF_Tipo) <- c("Tipo", "ni")

ni <- TDF_Tipo$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_Tipo <- data.frame(Tipo = TDF_Tipo$Tipo, ni, hi) %>%
  arrange(desc(ni))

# Fila de resumen (TOTAL)
Summary <- data.frame(Tipo = "TOTAL", ni = sum(TDF_Tipo$ni), hi = sum(TDF_Tipo$hi))
TDF_Tipo_suma <- rbind(TDF_Tipo, Summary)

colnames(TDF_Tipo_suma) <- c("Tipo de Mina", "ni", "hi(%)")

4.- Tabla de distribución de frecuencias

TDF_Tipo_suma %>%
  gt() %>%
  tab_header(
    title    = md("Tabla Nro. 1"),
    subtitle = md("Distribución de frecuencias de la variable Tipo de Mina (MINE_TYPE) 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 = `Tipo de Mina` == "TOTAL")
  ) %>%
  tab_source_note(source_note = md("Autor: Luis Cruz"))
Tabla Nro. 1
Distribución de frecuencias de la variable Tipo de Mina (MINE_TYPE) para el análisis de la actividad minera y emisión de gases en Estados Unidos.
Tipo de Mina ni hi(%)
12-Shops/Yards 964 32.98
11-Mill/Prep Plant 757 25.91
6-Dredge 634 21.70
5-Culm/Refuse 366 12.53
4-Auger 104 3.56
1-Underground 69 2.36
2-Surface 19 0.65
10-In Situ 5 0.17
3-Strip 4 0.14
TOTAL 2922 100.00
Autor: Luis Cruz

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

5.1- Diagrama de cantidad

par(mar = c(10, 5, 4, 2))
barplot(TDF_Tipo$ni,
        names.arg = TDF_Tipo$Tipo,
        main = "Gráfica Nro. 1\nDistribución de cantidad por tipo de mina\nen instalaciones mineras de Estados Unidos",
        xlab = "", ylab = "Cantidad (ni)",
        col = "steelblue",
        las = 2, cex.names = 0.8)

5.2- Diagramas procentuales

par(mar = c(10, 5, 4, 2))
barplot(TDF_Tipo$hi,
        names.arg = TDF_Tipo$Tipo,
        main = "Gráfica Nro. 2\nDistribución de cantidad en porcentaje\npor tipo de mina en instalaciones mineras de Estados Unidos",
        xlab = "", ylab = "Porcentaje (%)",
        col = "steelblue",
        las = 2, cex.names = 0.8,
        ylim = c(0, 100))

5.3- Diagrama circular

par(mar = c(4, 4, 4, 10), xpd = TRUE)
colores <- rainbow(nrow(TDF_Tipo))
pie(TDF_Tipo$hi,
    col = colores,
    main = "Gráfica Nro. 3\nDistribución de cantidad en porcentaje\npor tipo de mina",
    labels = NA)
legend("right",
       legend = paste(TDF_Tipo$Tipo, TDF_Tipo$hi, "%"),
       fill = colores,
       title = "TIPO DE MINA",
       bty = "o", xpd = TRUE, inset = c(-0.35, 0), cex = 0.7)

6.- Indicadores estadísticos

# Cálculo de la moda (Mo): el tipo de mina con mayor frecuencia (ni)
Moda_row <- TDF_Tipo[which.max(TDF_Tipo$ni), ]
Mo <- as.character(Moda_row$Tipo[1])

tabla_indicadores <- data.frame(
  "Variable" = "Tipo de Mina (MINE_TYPE)",
  "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 Tipo de Mina (MINE_TYPE)")
Indicadores estadísticos de la variable Tipo de Mina (MINE_TYPE)
Variable Rango X Me Mo V Sd Cv As K Valores.Atípicos
Tipo de Mina (MINE_TYPE) - - - 12-Shops/Yards - - - - - -

7.- Conclusiones

En conclusión:

La variable tipo de mina presenta como valor más frecuente la categoría 12-Shops/Yards, con 964 instalaciones (32.98% del total).