Variable Original: STAT_CODE
Nombre Variable: COD_ESTADO
Tipo: Cualitativa Nominal
Escala: Nominal
Justificación de la variable: El estado operativo de cada mina es relevante porque permite segmentar el análisis: una mina cerrada no contribuye a emisiones actuales. Conocer la proporción de minas activas vs. cerradas es clave para interpretar la correlación con las emisiones de CO2, NOx y CH4 reportadas en 2018.
library(dplyr)
library(gt)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
COD_ESTADO <- trimws(as.character(datos$STAT_CODE))
COD_ESTADO <- COD_ESTADO[!is.na(COD_ESTADO) & COD_ESTADO != ""]
n <- length(COD_ESTADO)
cat("n validos :", n, "\n")
## n validos : 2922
Códigos: A=Activa, B=Temp. Inactiva, C=Cerrada, F=Inactiva Perm., 1=Activa carbón, 2=Temp. Inactiva carbón, 3=Cerrada carbón.
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]
}
NOTA: al ser variable NOMINAL no se calculan frecuencias acumuladas (Ni/Hi), ya que las categorías no tienen un orden lógico entre sí.
TDF <- as.data.frame(table(COD_ESTADO_etiq)) %>%
rename(Estado = COD_ESTADO_etiq, ni = Freq) %>%
arrange(desc(ni)) %>%
mutate(hi = round(ni / sum(ni) * 100, 2))
# Ajuste matemático para forzar que la suma de 'hi' sea exactamente 100
diferencia <- 100 - sum(TDF$hi, na.rm = TRUE)
if (diferencia != 0 & nrow(TDF) > 0) {
pos_max <- which.max(TDF$ni)
TDF$hi[pos_max] <- TDF$hi[pos_max] + diferencia
}
# Fila total
TDF_total <- TDF %>%
mutate(Estado = as.character(Estado)) %>%
bind_rows(
data.frame(Estado = "TOTAL", ni = sum(TDF$ni), hi = sum(TDF$hi))
)
TDF_total %>%
gt() %>%
tab_header(
title = md("**Tabla N°1**"),
subtitle = "Distribución Nominal por Estado Operativo (STAT_CODE)"
) %>%
cols_label(Estado = "Estado Operativo", ni = "Frecuencia", hi = "Porcentaje (%)") %>%
cols_align(align = "center", columns = everything()) %>%
fmt_number(columns = c(ni, hi), decimals = 0) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = Estado == "TOTAL")
) %>%
tab_source_note(source_note = md("Autor: Grupo 4 - Minas"))
| Tabla N°1 | ||
| Distribución Nominal por Estado Operativo (STAT_CODE) | ||
| Estado Operativo | Frecuencia | Porcentaje (%) |
|---|---|---|
| A-Activa | 1,198 | 41 |
| 1-Activa Carbon | 688 | 24 |
| 2-Temp.Inactiva Carbon | 471 | 16 |
| C-Cerrada | 277 | 9 |
| B-Temp.Inactiva | 202 | 7 |
| F-Inactiva Perm. | 44 | 2 |
| 3-Cerrada Carbon | 42 | 1 |
| TOTAL | 2,922 | 100 |
| Autor: Grupo 4 - Minas | ||
par(mar = c(10, 5, 4, 2))
barplot(TDF_graf$ni,
names.arg = TDF_graf$Estado,
main = "Gráfica N°1: Distribución de cantidad por estado operativo\nen instalaciones mineras de Estados Unidos",
xlab = "", ylab = "Cantidad (ni)",
col = "#70AD47",
las = 2, cex.names = 0.85)
par(mar = c(10, 5, 4, 2))
barplot(TDF_graf$hi,
names.arg = TDF_graf$Estado,
main = "Gráfica N°2: Distribución de cantidad en porcentaje\npor estado operativo en instalaciones mineras de Estados Unidos",
xlab = "", ylab = "Porcentaje (%)",
col = "#C5E0A8",
las = 2, cex.names = 0.85,
ylim = c(0, max(TDF_graf$hi) * 1.2))
colores <- c("#70AD47","#C5E0A8","#375623","#A9D18E",
"#255E24","#548235","#E2EFDA")
par(mar = c(5, 4, 4, 20), xpd = TRUE)
pie(TDF_graf$hi,
labels = NA,
col = colores[1:nrow(TDF_graf)],
radius = 0.7,
main = "Gráfica N°3: Distribución de cantidad en porcentaje\npor estado operativo")
legend("right",
inset = c(-0.55, 0),
legend = paste0(TDF_graf$Estado, " (", TDF_graf$hi, "%)"),
fill = colores[1:nrow(TDF_graf)],
title = "ESTADO OPERATIVO",
bty = "n", xpd = TRUE, cex = 0.7)
par(xpd = FALSE)
moda_estado <- TDF_graf[TDF_graf$ni == max(TDF_graf$ni), ]
moda_estado
## Estado ni hi
## 1 A-Activa 1198 40.99
conclusion <- sprintf(
"La variable estado operativo registra la situación de cada instalación minera (activa, inactiva o cerrada). El total de registros válidos es %d. El estado operativo más frecuente es '%s', con %d registros (%.0f%% del total). Esta distribución es fundamental para el proyecto: conocer la proporción de minas activas frente a cerradas o inactivas permite segmentar correctamente el análisis de correlación con las emisiones de CO2, NOx y CH4, ya que solo las minas en operación contribuyen directamente al volumen de emisiones reportadas por estado en 2018."
, n, moda_estado$Estado[1], moda_estado$ni[1], moda_estado$hi[1]
)
print(conclusion)
## [1] "La variable estado operativo registra la situación de cada instalación minera (activa, inactiva o cerrada). El total de registros válidos es 2922. El estado operativo más frecuente es 'A-Activa', con 1198 registros (41% del total). Esta distribución es fundamental para el proyecto: conocer la proporción de minas activas frente a cerradas o inactivas permite segmentar correctamente el análisis de correlación con las emisiones de CO2, NOx y CH4, ya que solo las minas en operación contribuyen directamente al volumen de emisiones reportadas por estado en 2018."