Variable Original:
CH4 total emissions (tons) by state
Nombre Variable: EMIS_CH4
Tipo: Cuantitativa Continua
Escala: Razón
Justificación de la variable: Las emisiones de CH4 están registradas a nivel estatal para el año 2018, asociadas a la variable STATE. El metano es especialmente relevante en minería de carbón subterránea y es uno de los gases de efecto invernadero con mayor potencial de calentamiento global.
library(dplyr)
library(gt)
library(e1071)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
NOTA: CH4 requiere corrección DOBLE (punto = separador de miles, coma = decimal), igual que NOx.
EMIS_CH4 <- as.numeric(gsub(",", ".", gsub("\\.", "", datos$CH4.total.emissions..tons..by.state)))
## Warning: NAs introducidos por coerción
EMIS_CH4 <- EMIS_CH4[!is.na(EMIS_CH4)]
n <- length(EMIS_CH4)
cat("n validos :", n, "\n")
## n validos : 1038
cat("Min :", round(min(EMIS_CH4), 0), "ton\n")
## Min : 6055498 ton
cat("Max :", round(max(EMIS_CH4), 0), "ton\n")
## Max : 7664816242 ton
k <- ceiling(1 + 3.322 * log10(n))
am <- round((max(EMIS_CH4) - min(EMIS_CH4)) / k, 0)
rango <- max(EMIS_CH4) - min(EMIS_CH4)
parametros_sturges <- data.frame(
Parametro = c("Rango (R)", "Número de datos (n)",
"Número de intervalos (k)", "Amplitud de clase (A)"),
Valor = c(round(rango, 0), n, k, am)
)
parametros_sturges %>%
gt() %>%
tab_header(title = md("**Tabla 1**"),
subtitle = "Parámetros de Sturges para EMIS_CH4") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 1 | |
| Parámetros de Sturges para EMIS_CH4 | |
| Parametro | Valor |
|---|---|
| Rango (R) | 7658760744 |
| Número de datos (n) | 1038 |
| Número de intervalos (k) | 12 |
| Amplitud de clase (A) | 638230062 |
| Autor: Grupo 4 - Minas | |
breaks <- seq(min(EMIS_CH4), max(EMIS_CH4) + 1e-6, length.out = k + 1)
cortes <- cut(EMIS_CH4, breaks = breaks, include.lowest = TRUE, right = FALSE)
fi <- as.vector(table(cortes))
fri <- round(fi / n * 100, 2)
Ni <- cumsum(fi)
Nd <- rev(cumsum(rev(fi)))
Hi <- round(Ni / n * 100, 2)
Hd <- round(Nd / n * 100, 2)
mc <- round((breaks[-length(breaks)] + breaks[-1]) / 2, 0)
TDF <- data.frame(
Desde = round(breaks[-length(breaks)], 0),
Hasta = round(breaks[-1], 0),
MC = mc,
fi = fi, fri = fri,
Ni = Ni, Nd = Nd,
Hi = Hi, Hd = Hd
)
TDF %>%
gt() %>%
tab_header(
title = md("**Tabla 2**"),
subtitle = md("Distribución de frecuencias — Emisiones CH4 (ton) por estado")
) %>%
cols_label(
Desde = "Desde (ton)", Hasta = "Hasta (ton)", MC = "Marca Clase",
fi = "fi", fri = "fri (%)",
Ni = "Ni Asc.", Nd = "Ni Desc.",
Hi = "Hi Asc. %", Hd = "Hi Desc. %"
) %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 2 | ||||||||
| Distribución de frecuencias — Emisiones CH4 (ton) por estado | ||||||||
| Desde (ton) | Hasta (ton) | Marca Clase | fi | fri (%) | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|---|---|
| 6055498 | 644285560 | 325170529 | 326 | 31.41 | 326 | 1038 | 31.41 | 100.00 |
| 644285560 | 1282515622 | 963400591 | 25 | 2.41 | 351 | 712 | 33.82 | 68.59 |
| 1282515622 | 1920745684 | 1601630653 | 0 | 0.00 | 351 | 687 | 33.82 | 66.18 |
| 1920745684 | 2558975746 | 2239860715 | 44 | 4.24 | 395 | 687 | 38.05 | 66.18 |
| 2558975746 | 3197205808 | 2878090777 | 154 | 14.84 | 549 | 643 | 52.89 | 61.95 |
| 3197205808 | 3835435870 | 3516320839 | 47 | 4.53 | 596 | 489 | 57.42 | 47.11 |
| 3835435870 | 4473665932 | 4154550901 | 0 | 0.00 | 596 | 442 | 57.42 | 42.58 |
| 4473665932 | 5111895994 | 4792780963 | 31 | 2.99 | 627 | 442 | 60.40 | 42.58 |
| 5111895994 | 5750126056 | 5431011025 | 0 | 0.00 | 627 | 411 | 60.40 | 39.60 |
| 5750126056 | 6388356118 | 6069241087 | 0 | 0.00 | 627 | 411 | 60.40 | 39.60 |
| 6388356118 | 7026586180 | 6707471149 | 0 | 0.00 | 627 | 411 | 60.40 | 39.60 |
| 7026586180 | 7664816242 | 7345701211 | 411 | 39.60 | 1038 | 411 | 100.00 | 39.60 |
| Autor: Grupo 4 - Minas | ||||||||
par(mar = c(5, 5, 4, 2))
hist(EMIS_CH4, breaks = breaks, col = "#70AD47", border = "white",
main = "Gráfica 1: Frecuencia Absoluta Global — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)", ylab = "Frecuencia absoluta")
p95 <- quantile(EMIS_CH4, 0.95)
CH4_z <- EMIS_CH4[EMIS_CH4 <= p95]
k_z <- ceiling(1 + 3.322 * log10(length(CH4_z)))
br_z <- seq(min(CH4_z), max(CH4_z) + 1e-6, length.out = k_z + 1)
par(mar = c(5, 5, 4, 2))
hist(CH4_z, breaks = br_z, col = "#70AD47", border = "white",
main = paste0("Gráfica 2: Rango Principal — EMIS_CH4 (hasta P95=",
round(p95/1e6,1), "M ton)"),
xlab = "Emisiones CH4 (toneladas)", ylab = "Frecuencia absoluta")
hist(CH4_z, breaks = br_z, col = "#70AD47", border = "white",
freq = FALSE,
main = "Gráfica 3: Frecuencia Relativa Local — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)", ylab = "Densidad")
par(mar = c(5, 5, 4, 2))
hist(EMIS_CH4, breaks = breaks, col = "#70AD47", border = "white",
freq = FALSE,
main = "Gráfica 4: Frecuencia Relativa Global — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)", ylab = "Densidad")
h <- hist(EMIS_CH4, breaks = breaks, col = "#70AD47", border = "white",
main = "Gráfica 5: Histograma con Polígono de Frecuencias — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)", ylab = "Frecuencia absoluta")
lines(h$mids, h$counts, type = "o", pch = 16, col = "darkgreen", lwd = 1.5)
ojiva <- data.frame(mc = mc, Ni = Ni, Nd = Nd)
plot(ojiva$mc, ojiva$Ni, type = "b", col = "black", pch = 16, lwd = 1.5,
main = "Gráfica 6: Ojivas Combinadas — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)", ylab = "Frecuencia acumulada")
lines(ojiva$mc, ojiva$Nd, type = "b", col = "#70AD47", pch = 16, lwd = 1.5)
legend("right", legend = c("Ascendente","Descendente"),
col = c("black","#70AD47"), lwd = 2, pch = 16, bty = "n")
boxplot(EMIS_CH4, horizontal = TRUE, col = "#C5E0A8", border = "#375623",
main = "Gráfica 7: Diagrama de Caja — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)")
hist(EMIS_CH4, breaks = breaks, col = "lightgray", border = "white",
main = "Gráfica 8: Histograma con Diagrama de Caja Superpuesto — EMIS_CH4",
xlab = "Emisiones CH4 (toneladas)", ylab = "Frecuencia absoluta")
boxplot(EMIS_CH4, horizontal = TRUE, add = TRUE,
at = par("usr")[4] * 0.08, boxwex = par("usr")[4] * 0.06,
col = rgb(0.2, 0.5, 0.2, 0.3), border = "#375623", xaxt = "n", yaxt = "n")
minimo <- min(EMIS_CH4)
maximo <- max(EMIS_CH4)
media <- mean(EMIS_CH4)
mediana <- median(EMIS_CH4)
moda <- as.numeric(names(sort(table(EMIS_CH4), decreasing = TRUE))[1])
rango2 <- maximo - minimo
varianza <- var(EMIS_CH4)
desv <- sd(EMIS_CH4)
cv <- desv / media * 100
if (cv < 15) {
interpretacion_cv <- "BAJA (CV < 15%)"
} else if (cv < 30) {
interpretacion_cv <- "MODERADA (15% <= CV < 30%)"
} else {
interpretacion_cv <- "ALTA (CV >= 30%)"
}
q1 <- quantile(EMIS_CH4, 0.25)
q2 <- quantile(EMIS_CH4, 0.50)
q3 <- quantile(EMIS_CH4, 0.75)
iqr_val <- q3 - q1
lim_inf <- q1 - 1.5 * iqr_val
lim_sup <- q3 + 1.5 * iqr_val
outliers <- EMIS_CH4[EMIS_CH4 < lim_inf | EMIS_CH4 > lim_sup]
n_outliers <- length(outliers)
porc_outliers <- round(n_outliers / n * 100, 2)
asimetria <- skewness(EMIS_CH4)
if (abs(asimetria) < 0.5) {
interpretacion_asimetria <- "Distribución simétrica"
} else if (asimetria > 0) {
interpretacion_asimetria <- "Asimetría positiva (sesgo a la derecha)"
} else {
interpretacion_asimetria <- "Asimetría negativa (sesgo a la izquierda)"
}
curtosis <- kurtosis(EMIS_CH4, type = 2) # excedente (normal = 0)
if (abs(curtosis) < 0.5) {
interpretacion_curtosis <- "Distribución mesocúrtica (normal)"
} else if (curtosis > 0) {
interpretacion_curtosis <- "Distribución leptocúrtica (picuda)"
} else {
interpretacion_curtosis <- "Distribución platicúrtica (aplanada)"
}
Tabla 3: Tendencia Central
data.frame(
Indicador = c("Mínimo","Media","Mediana","Moda","Máximo","Rango"),
Valor = round(c(minimo, media, mediana, moda, maximo, rango2), 0),
Unidad = rep("toneladas", 6)
) %>%
gt() %>%
tab_header(title = md("**Tabla 3**"),
subtitle = "Indicadores de Tendencia Central — EMIS_CH4") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 3 | ||
| Indicadores de Tendencia Central — EMIS_CH4 | ||
| Indicador | Valor | Unidad |
|---|---|---|
| Mínimo | 6055498 | toneladas |
| Media | 3979431764 | toneladas |
| Mediana | 3003562806 | toneladas |
| Moda | 7664816242 | toneladas |
| Máximo | 7664816242 | toneladas |
| Rango | 7658760744 | toneladas |
| Autor: Grupo 4 - Minas | ||
Tabla 4: Dispersión
data.frame(
Indicador = c("Varianza","Desviación Estándar","Coeficiente de Variación"),
Valor = c(round(varianza,0), round(desv,0), paste0(round(cv,2),"%")),
Interpretacion = c("Medida de dispersión al cuadrado",
"Dispersión promedio respecto a la media",
paste("Dispersión relativa:", interpretacion_cv))
) %>%
gt() %>%
tab_header(title = md("**Tabla 4**"),
subtitle = "Indicadores de Dispersión — EMIS_CH4") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 4 | ||
| Indicadores de Dispersión — EMIS_CH4 | ||
| Indicador | Valor | Interpretacion |
|---|---|---|
| Varianza | 10139199679285354496 | Medida de dispersión al cuadrado |
| Desviación Estándar | 3184210998 | Dispersión promedio respecto a la media |
| Coeficiente de Variación | 80.02% | Dispersión relativa: ALTA (CV >= 30%) |
| Autor: Grupo 4 - Minas | ||
Tabla 5: Posición y Outliers
data.frame(
Indicador = c("Cuartil 1 (Q1)","Cuartil 2 (Q2-Mediana)","Cuartil 3 (Q3)",
"Rango Intercuartílico (IQR)","Límite Inferior Outliers",
"Límite Superior Outliers","Número de Outliers"),
Valor = c(round(q1,0), round(q2,0), round(q3,0), round(iqr_val,0),
round(lim_inf,0), round(lim_sup,0),
paste0(n_outliers, " (", porc_outliers, "%)"))
) %>%
gt() %>%
tab_header(title = md("**Tabla 5**"),
subtitle = "Indicadores de Posición y Outliers — EMIS_CH4") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 5 | |
| Indicadores de Posición y Outliers — EMIS_CH4 | |
| Indicador | Valor |
|---|---|
| Cuartil 1 (Q1) | 518314257 |
| Cuartil 2 (Q2-Mediana) | 3003562806 |
| Cuartil 3 (Q3) | 7664816242 |
| Rango Intercuartílico (IQR) | 7146501985 |
| Límite Inferior Outliers | -10201438720 |
| Límite Superior Outliers | 18384569220 |
| Número de Outliers | 0 (0%) |
| Autor: Grupo 4 - Minas | |
Tabla 6: Forma de la Distribución
data.frame(
Indicador = c("Coeficiente de Asimetría (Fisher)","Interpretación Asimetría",
"Coeficiente de Curtosis (Excedente)","Interpretación Curtosis"),
Valor = c(round(asimetria,4), interpretacion_asimetria,
round(curtosis,4), interpretacion_curtosis)
) %>%
gt() %>%
tab_header(title = md("**Tabla 6**"),
subtitle = "Indicadores de Forma — EMIS_CH4") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 6 | |
| Indicadores de Forma — EMIS_CH4 | |
| Indicador | Valor |
|---|---|
| Coeficiente de Asimetría (Fisher) | 0.0997 |
| Interpretación Asimetría | Distribución simétrica |
| Coeficiente de Curtosis (Excedente) | -1.7055 |
| Interpretación Curtosis | Distribución platicúrtica (aplanada) |
| Autor: Grupo 4 - Minas | |
Tabla 7: Resumen Completo
data.frame(
Categoria = c("Tendencia Central","Tendencia Central","Tendencia Central",
"Tendencia Central","Tendencia Central","Tendencia Central",
"Dispersión","Dispersión","Dispersión",
"Posición","Posición","Posición","Posición",
"Forma","Forma","Forma","Forma"),
Indicador = c("Mínimo","Media","Mediana","Moda","Máximo","Rango",
"Varianza","Desviación Estándar","Coeficiente de Variación",
"Cuartil 1 (Q1)","Cuartil 2 (Q2)","Cuartil 3 (Q3)","Rango Intercuartílico",
"Asimetría (g1)","Interpretación Asimetría",
"Curtosis (g2)","Interpretación Curtosis"),
Valor = c(round(minimo,0), round(media,0), round(mediana,0), round(moda,0),
round(maximo,0), round(rango2,0),
round(varianza,0), round(desv,0), paste0(round(cv,2),"%"),
round(q1,0), round(q2,0), round(q3,0), round(iqr_val,0),
round(asimetria,4), interpretacion_asimetria,
round(curtosis,4), interpretacion_curtosis)
) %>%
gt() %>%
tab_header(title = md("**Tabla 7**"),
subtitle = "Resumen Completo de Indicadores — EMIS_CH4") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 7 | ||
| Resumen Completo de Indicadores — EMIS_CH4 | ||
| Categoria | Indicador | Valor |
|---|---|---|
| Tendencia Central | Mínimo | 6055498 |
| Tendencia Central | Media | 3979431764 |
| Tendencia Central | Mediana | 3003562806 |
| Tendencia Central | Moda | 7664816242 |
| Tendencia Central | Máximo | 7664816242 |
| Tendencia Central | Rango | 7658760744 |
| Dispersión | Varianza | 10139199679285354496 |
| Dispersión | Desviación Estándar | 3184210998 |
| Dispersión | Coeficiente de Variación | 80.02% |
| Posición | Cuartil 1 (Q1) | 518314257 |
| Posición | Cuartil 2 (Q2) | 3003562806 |
| Posición | Cuartil 3 (Q3) | 7664816242 |
| Posición | Rango Intercuartílico | 7146501985 |
| Forma | Asimetría (g1) | 0.0997 |
| Forma | Interpretación Asimetría | Distribución simétrica |
| Forma | Curtosis (g2) | -1.7055 |
| Forma | Interpretación Curtosis | Distribución platicúrtica (aplanada) |
| Autor: Grupo 4 - Minas | ||
cat("Numero de valores atipicos:", n_outliers, "\n")
## Numero de valores atipicos: 0
if (n_outliers > 0) {
cat("Minimo outlier:", round(min(outliers), 0), "ton\n")
cat("Maximo outlier:", round(max(outliers), 0), "ton\n")
}
conclusion <- sprintf(
"La variable EMIS_CH4 registra las emisiones totales de metano en toneladas por estado administrativo (STATE) para 2018. Cada instalación minera hereda el valor del estado al que pertenece administrativamente. Los valores oscilan entre %.0f y %.0f toneladas, con media de %.0f ton y mediana de %.0f ton. La asimetría (%s, As=%.4f) indica que la mayoría de los estados registran emisiones bajas de CH4, mientras que los estados con mayor actividad minera de carbón subterránea presentan valores extremadamente altos. El CV de %.2f%% (%s) refleja una alta heterogeneidad entre estados. Se identificaron %d valores atípicos (%.2f%% del total) que corresponden principalmente a estados con alta densidad de minas de carbón subterráneas, reforzando la hipótesis de correlación entre tipo de actividad minera y emisiones de CH4 del proyecto.",
min(EMIS_CH4), max(EMIS_CH4), media, mediana, interpretacion_asimetria, asimetria, cv, interpretacion_cv, n_outliers, porc_outliers
)
print(conclusion)
## [1] "La variable EMIS_CH4 registra las emisiones totales de metano en toneladas por estado administrativo (STATE) para 2018. Cada instalación minera hereda el valor del estado al que pertenece administrativamente. Los valores oscilan entre 6055498 y 7664816242 toneladas, con media de 3979431764 ton y mediana de 3003562806 ton. La asimetría (Distribución simétrica, As=0.0997) indica que la mayoría de los estados registran emisiones bajas de CH4, mientras que los estados con mayor actividad minera de carbón subterránea presentan valores extremadamente altos. El CV de 80.02% (ALTA (CV >= 30%)) refleja una alta heterogeneidad entre estados. Se identificaron 0 valores atípicos (0.00% del total) que corresponden principalmente a estados con alta densidad de minas de carbón subterráneas, reforzando la hipótesis de correlación entre tipo de actividad minera y emisiones de CH4 del proyecto."