Variable Original: STAT_DATE

Nombre Variable: FCH_ESTATUTO

Tipo: Cualitativa Ordinal

Escala: Ordinal

Orden lógico de las categorías: 1990-2001 < 2002-2004 < 2005-2006

Justificación de la variable: La fecha de estatuto permite analizar la evolución temporal de la actividad minera. Identificar en qué años se concentran los cambios de estado operativo ayuda a contextualizar la correlación con las emisiones de CO2, NOx y CH4 reportadas en 2018.


1 Carga y Preparación de los Datos

library(dplyr)
library(gt)

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

FCH_ESTATUTO <- trimws(as.character(datos$STAT_DATE))
FCH_ESTATUTO <- FCH_ESTATUTO[!is.na(FCH_ESTATUTO) & FCH_ESTATUTO != ""]

anios <- substr(FCH_ESTATUTO, 1, 4)
anios <- anios[as.numeric(anios) >= 1990 & as.numeric(anios) <= 2010]
n     <- length(anios)

cat("n validos :", n, "\n")
## n validos : 2503

2 Agrupación en Terciles

NOTA: agrupar por año individual da 17 categorías, superando el límite de 10-12 filas por tabla. Se reutilizan los mismos terciles balanceados definidos en la fase inferencial (INF_09) para mantener consistencia metodológica entre fases del proyecto.

periodo <- character(length(anios))

for (i in seq_along(anios)) {
  a <- as.numeric(anios[i])
  if (a >= 1990 & a <= 2001) {
    periodo[i] <- "1990-2001"
  } else if (a >= 2002 & a <= 2004) {
    periodo[i] <- "2002-2004"
  } else {
    periodo[i] <- "2005-2006"
  }
}

orden_periodo <- c("1990-2001", "2002-2004", "2005-2006")
periodo <- factor(periodo, levels = orden_periodo, ordered = TRUE)

cat("Distribucion por periodo:\n")
## Distribucion por periodo:
print(table(periodo))
## periodo
## 1990-2001 2002-2004 2005-2006 
##       890       811       802

3 Tabla de Distribución de Frecuencias

TDF <- as.data.frame(table(periodo)) %>%
  rename(Periodo = periodo, fi = Freq) %>%
  arrange(Periodo) %>%
  mutate(
    fri    = round(fi / n * 100, 2),
    Ni_asc = cumsum(fi),
    Ni_des = rev(cumsum(rev(fi))),
    Hi_asc = round(cumsum(fri), 2),
    Hi_des = round(rev(cumsum(rev(fri))), 2)
  )

TDF_total <- TDF %>%
  mutate(Periodo = as.character(Periodo)) %>%
  bind_rows(
    data.frame(
      Periodo = "TOTAL",
      fi      = sum(TDF$fi),
      fri     = round(sum(TDF$fri), 2),
      Ni_asc  = max(TDF$Ni_asc),
      Ni_des  = min(TDF$Ni_des),
      Hi_asc  = max(TDF$Hi_asc),
      Hi_des  = min(TDF$Hi_des)
    )
  )

TDF_total %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla 1**"),
    subtitle = md("Distribución de frecuencias por periodo — STAT_DATE")
  ) %>%
  cols_label(
    Periodo = "Periodo", fi = "fi", fri = "fri (%)",
    Ni_asc = "Ni Asc.", Ni_des = "Ni Desc.",
    Hi_asc = "Hi Asc. %", Hi_des = "Hi Desc. %"
  ) %>%
  tab_style(
    style     = cell_text(weight = "bold"),
    locations = cells_body(rows = Periodo == "TOTAL")
  ) %>%
  tab_source_note(md("Autor: Grupo 4 - Minas"))
Tabla 1
Distribución de frecuencias por periodo — STAT_DATE
Periodo fi fri (%) Ni Asc. Ni Desc. Hi Asc. % Hi Desc. %
1990-2001 890 35.56 890 2503 35.56 100.00
2002-2004 811 32.40 1701 1613 67.96 64.44
2005-2006 802 32.04 2503 802 100.00 32.04
TOTAL 2503 100.00 2503 802 100.00 32.04
Autor: Grupo 4 - Minas

4 Diagramas de Barras

par(mar = c(6, 5, 4, 2))
barplot(
  TDF_graf$fi,
  names.arg = TDF_graf$Periodo,
  col       = "#7030A0",
  main      = "Gráfica 1: Frecuencia Absoluta — STAT_DATE",
  ylab      = "Frecuencia absoluta (fi)",
  cex.names = 0.9,
  cex.axis  = 0.9
)

par(mar = c(6, 5, 4, 2))
barplot(
  TDF_graf$fri,
  names.arg = TDF_graf$Periodo,
  col       = "#C5A3D8",
  main      = "Gráfica 2: Frecuencia Relativa — STAT_DATE",
  ylab      = "Frecuencia relativa (%)",
  ylim      = c(0, max(TDF_graf$fri) + 5),
  cex.names = 0.9,
  cex.axis  = 0.9
)

5 Diagrama Circular

colores <- c("#7030A0","#C5A3D8","#4B0082")

par(mar = c(5, 4, 4, 14), xpd = TRUE)
pie(
  TDF_graf$fri,
  labels = NA,
  col    = colores[1:nrow(TDF_graf)],
  radius = 0.8,
  main   = "Gráfica 3: Distribución Porcentual — STAT_DATE"
)
legend("right",
       inset  = c(-0.35, 0),
       legend = paste0(TDF_graf$Periodo, " (", TDF_graf$fri, "%)"),
       fill   = colores[1:nrow(TDF_graf)],
       title  = "PERIODO",
       bty    = "n", xpd = TRUE, cex = 0.8)

par(xpd = FALSE)

6 Ojiva Acumulada

Al ser ordinal, la ojiva acumulada sí tiene sentido por el orden cronológico de los periodos.

par(mar = c(6, 5, 4, 2))
plot(
  1:nrow(TDF_graf), TDF_graf$Hi_asc,
  type = "b", col = "black", pch = 16, lwd = 1.5,
  main = "Gráfica 4: Ojiva Acumulada — STAT_DATE",
  xlab = "", ylab = "Frecuencia acumulada (%)",
  xaxt = "n", ylim = c(0, 105)
)
axis(1, at = 1:nrow(TDF_graf), labels = TDF_graf$Periodo, cex.axis = 0.9)

7 Indicadores Estadísticos

moda_idx <- which.max(TDF_graf$fi)
moda     <- TDF_graf$Periodo[moda_idx]
moda_fi  <- TDF_graf$fi[moda_idx]
moda_fri <- TDF_graf$fri[moda_idx]

pos_med <- n / 2
med_idx <- which(TDF_graf$Ni_asc >= pos_med)[1]
mediana <- TDF_graf$Periodo[med_idx]

cat("Moda    :", moda, "(", moda_fi, "eventos,", moda_fri, "%)\n")
## Moda    : 1990-2001 ( 890 eventos, 35.56 %)
cat("Mediana :", mediana, "\n")
## Mediana : 2002-2004
data.frame(
  Indicador = c("Moda", "Mediana"),
  Resultado = c(
    paste0(moda, " (", moda_fi, " eventos, ", moda_fri, "%)"),
    paste0(mediana, " (posición central de la distribución)")
  )
) %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla 2**"),
    subtitle = md("Indicadores estadísticos — STAT_DATE")
  ) %>%
  tab_source_note(md("Autor: Grupo 4 - Minas"))
Tabla 2
Indicadores estadísticos — STAT_DATE
Indicador Resultado
Moda 1990-2001 (890 eventos, 35.56%)
Mediana 2002-2004 (posición central de la distribución)
Autor: Grupo 4 - Minas

8 Conclusión

conclusion <- sprintf(
"La variable FCH_ESTATUTO registra el periodo en que se determinó el estado operativo de cada instalación minera. Se analizaron %d registros válidos entre 1990 y 2006, agrupados en 3 periodos (los mismos terciles usados en la fase inferencial del proyecto). El periodo con mayor número de actualizaciones es %s con %d eventos (%.2f%%), lo que indica que ese periodo concentró la mayor actividad de cambios en el estatus operativo de las instalaciones mineras registradas. La mediana se ubica en %s, lo que significa que el 50%% de las instalaciones tuvieron su último cambio de estado antes o durante ese periodo. Es importante destacar que los registros de estado operativo se concentran entre 1990 y 2006, periodo de recopilación del dataset, mientras que las emisiones de CO2, NOx y CH4 corresponden al año 2018. Esto permite evaluar el impacto acumulado de la actividad minera histórica sobre las emisiones estatales reportadas.",
n, moda, moda_fi, moda_fri, mediana
)
print(conclusion)
## [1] "La variable FCH_ESTATUTO registra el periodo en que se determinó el estado operativo de cada instalación minera. Se analizaron 2503 registros válidos entre 1990 y 2006, agrupados en 3 periodos (los mismos terciles usados en la fase inferencial del proyecto). El periodo con mayor número de actualizaciones es 1990-2001 con 890 eventos (35.56%), lo que indica que ese periodo concentró la mayor actividad de cambios en el estatus operativo de las instalaciones mineras registradas. La mediana se ubica en 2002-2004, lo que significa que el 50% de las instalaciones tuvieron su último cambio de estado antes o durante ese periodo. Es importante destacar que los registros de estado operativo se concentran entre 1990 y 2006, periodo de recopilación del dataset, mientras que las emisiones de CO2, NOx y CH4 corresponden al año 2018. Esto permite evaluar el impacto acumulado de la actividad minera histórica sobre las emisiones estatales reportadas."