title: “Análisis de la Variable STAT_CODE” author: “Santiago Agila” date: “2026-06-04” output: html_document: toc: true toc_depth: 3 toc_float: true number_sections: true ———————
La variable STAT_CODE representa el estado operativo de cada instalación minera.
Su análisis es importante porque permite diferenciar minas activas, temporalmente inactivas y cerradas. Esta clasificación es fundamental para interpretar correctamente la relación entre la actividad minera y las emisiones de CO₂, NOx y CH₄, ya que las minas fuera de operación no contribuyen de la misma manera a las emisiones registradas.
COD_ESTADO <- trimws(as.character(datos$STAT_CODE))
COD_ESTADO <- COD_ESTADO[!is.na(COD_ESTADO) & COD_ESTADO != ""]
n <- length(COD_ESTADO)
data.frame(
Variable = "STAT_CODE",
Registros_Validos = n
)
## Variable Registros_Validos
## 1 STAT_CODE 2922
codigos <- c("A","B","C","F","1","2","3")
etiquetas <- c(
"A-Activa",
"B-Temp.Inactiva",
"C-Cerrada",
"F-Inactiva Perm.",
"1-Activa Carbon",
"2-Temp.Inactiva Carbon",
"3-Cerrada Carbon"
)
COD_ESTADO_etiq <- COD_ESTADO
for(i in seq_along(codigos)){
COD_ESTADO_etiq[COD_ESTADO_etiq == codigos[i]] <- etiquetas[i]
}
TDF <- as.data.frame(table(COD_ESTADO_etiq)) %>%
rename(
Estado = COD_ESTADO_etiq,
fi = Freq
) %>%
arrange(desc(fi)) %>%
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 %>%
add_row(
Estado = "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
## Estado fi fri Ni_asc Ni_des Hi_asc Hi_des
## 1 A-Activa 1198 41.00 1198 2922 41.00 100.01
## 2 1-Activa Carbon 688 23.55 1886 1724 64.55 59.01
## 3 2-Temp.Inactiva Carbon 471 16.12 2357 1036 80.67 35.46
## 4 C-Cerrada 277 9.48 2634 565 90.15 19.34
## 5 B-Temp.Inactiva 202 6.91 2836 288 97.06 9.86
## 6 F-Inactiva Perm. 44 1.51 2880 86 98.57 2.95
## 7 3-Cerrada Carbon 42 1.44 2922 42 100.01 1.44
## 8 Total 2922 100.01 2922 42 100.01 1.44
TDF_total %>%
gt() %>%
tab_header(
title = md("**Tabla 1**"),
subtitle = md("Distribución de frecuencias por estado operativo")
) %>%
cols_label(
Estado = "Estado Operativo",
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 = Estado == "Total")
)
| Tabla 1 | ||||||
| Distribución de frecuencias por estado operativo | ||||||
| Estado Operativo | fi | fri (%) | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|
| A-Activa | 1198 | 41.00 | 1198 | 2922 | 41.00 | 100.01 |
| 1-Activa Carbon | 688 | 23.55 | 1886 | 1724 | 64.55 | 59.01 |
| 2-Temp.Inactiva Carbon | 471 | 16.12 | 2357 | 1036 | 80.67 | 35.46 |
| C-Cerrada | 277 | 9.48 | 2634 | 565 | 90.15 | 19.34 |
| B-Temp.Inactiva | 202 | 6.91 | 2836 | 288 | 97.06 | 9.86 |
| F-Inactiva Perm. | 44 | 1.51 | 2880 | 86 | 98.57 | 2.95 |
| 3-Cerrada Carbon | 42 | 1.44 | 2922 | 42 | 100.01 | 1.44 |
| Total | 2922 | 100.01 | 2922 | 42 | 100.01 | 1.44 |
TDF_graf <- TDF_total %>%
filter(Estado != "Total")
par(mar = c(10,5,4,2))
barplot(
TDF_graf$fi,
names.arg = TDF_graf$Estado,
las = 2,
col = "#70AD47",
main = "Frecuencia Absoluta — STAT_CODE",
ylab = "Frecuencia absoluta (fi)"
)
par(mar = c(10,5,4,2))
barplot(
TDF_graf$fri,
names.arg = TDF_graf$Estado,
las = 2,
col = "#C5E0A8",
main = "Frecuencia Relativa — STAT_CODE",
ylab = "Frecuencia relativa (%)",
ylim = c(0,max(TDF_graf$fri)+5)
)
colores <- c(
"#70AD47","#C5E0A8","#375623",
"#A9D18E","#255E24","#548235",
"#E2EFDA"
)
pie(
TDF_graf$fri,
labels = NA,
col = colores[1:nrow(TDF_graf)],
main = "Distribución porcentual — STAT_CODE"
)
legend(
"topright",
legend = paste0(
TDF_graf$Estado,
" (",
TDF_graf$fri,
"%)"
),
fill = colores[1:nrow(TDF_graf)],
cex = 0.8
)
moda_idx <- which.max(TDF_graf$fi)
moda <- TDF_graf$Estado[moda_idx]
moda_fi <- TDF_graf$fi[moda_idx]
moda_fri <- TDF_graf$fri[moda_idx]
data.frame(
Variable = "Estado operativo (STAT_CODE)",
Indicador = "Moda",
Resultado = paste0(
moda,
" (",
moda_fi,
" instalaciones, ",
moda_fri,
"%)"
)
) %>%
gt() %>%
tab_header(
title = md("**Tabla 2**"),
subtitle = md("Indicadores estadísticos")
)
| Tabla 2 | ||
| Indicadores estadísticos | ||
| Variable | Indicador | Resultado |
|---|---|---|
| Estado operativo (STAT_CODE) | Moda | A-Activa (1198 instalaciones, 41%) |
La variable STAT_CODE registra el estado operativo de cada instalación minera. Se analizaron 2922 registros válidos. El estado operativo más frecuente fue A-Activa, con 1198 registros que representan 41% del total. Esta información permite identificar la proporción de minas activas e inactivas y constituye un elemento clave para el análisis de correlación entre la actividad minera y las emisiones de CO₂, NOx y CH₄.