Variable Original: x
Nombre Variable: LON
Tipo: Cuantitativa Continua
Escala: Razón
Justificación de la variable: La longitud geográfica permite identificar la distribución espacial este-oeste de las instalaciones mineras en EE.UU. Su análisis revela en qué regiones geográficas se concentra la actividad minera, complementando el análisis de correlación con las emisiones de CO2, NOx y CH4 por estado.
library(dplyr)
library(gt)
library(MASS)
library(e1071)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
NOTA: la columna x ya viene en grados decimales; solo
requiere corrección simple de coma decimal, SIN ninguna división. (Se
corrigió un error donde se dividía por 100000, lo cual distorsionaba por
completo los valores reales de longitud.)
LON <- as.numeric(gsub(",", ".", datos$x))
LON <- LON[!is.na(LON)]
n <- length(LON)
cat("n validos :", n, "\n")
## n validos : 2996
cat("Min :", round(min(LON), 3), "grados\n")
## Min : -165.393 grados
cat("Max :", round(max(LON), 3), "grados\n")
## Max : -65.948 grados
k <- ceiling(1 + 3.322 * log10(n))
am <- round((max(LON) - min(LON)) / k, 1)
rango <- max(LON) - min(LON)
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, 3), n, k, am)
)
parametros_sturges %>%
gt() %>%
tab_header(title = md("**Tabla 1**"),
subtitle = "Parámetros de Sturges para LON") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 1 | |
| Parámetros de Sturges para LON | |
| Parametro | Valor |
|---|---|
| Rango (R) | 99.445 |
| Número de datos (n) | 2996.000 |
| Número de intervalos (k) | 13.000 |
| Amplitud de clase (A) | 7.600 |
| Autor: Grupo 4 - Minas | |
breaks <- seq(min(LON), min(LON) + k * am, length.out = k + 1)
breaks[length(breaks)] <- max(LON) + 0.001
cortes <- cut(LON, 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, 3)
TDF <- data.frame(
Desde = round(breaks[-length(breaks)], 3),
Hasta = round(breaks[-1], 3),
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 — Longitud (x)")
) %>%
cols_label(
Desde = "Desde (°)", Hasta = "Hasta (°)", 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 — Longitud (x) | ||||||||
| Desde (°) | Hasta (°) | Marca Clase | fi | fri (%) | Ni Asc. | Ni Desc. | Hi Asc. % | Hi Desc. % |
|---|---|---|---|---|---|---|---|---|
| -165.393 | -157.793 | -161.593 | 4 | 0.13 | 4 | 2996 | 0.13 | 100.00 |
| -157.793 | -150.193 | -153.993 | 3 | 0.10 | 7 | 2992 | 0.23 | 99.87 |
| -150.193 | -142.593 | -146.393 | 13 | 0.43 | 20 | 2989 | 0.67 | 99.77 |
| -142.593 | -134.993 | -138.793 | 1 | 0.03 | 21 | 2976 | 0.70 | 99.33 |
| -134.993 | -127.393 | -131.193 | 1 | 0.03 | 22 | 2975 | 0.73 | 99.30 |
| -127.393 | -119.793 | -123.593 | 42 | 1.40 | 64 | 2974 | 2.14 | 99.27 |
| -119.793 | -112.193 | -115.993 | 175 | 5.84 | 239 | 2932 | 7.98 | 97.86 |
| -112.193 | -104.593 | -108.393 | 222 | 7.41 | 461 | 2757 | 15.39 | 92.02 |
| -104.593 | -96.993 | -100.793 | 115 | 3.84 | 576 | 2535 | 19.23 | 84.61 |
| -96.993 | -89.393 | -93.193 | 219 | 7.31 | 795 | 2420 | 26.54 | 80.77 |
| -89.393 | -81.793 | -85.593 | 1200 | 40.05 | 1995 | 2201 | 66.59 | 73.46 |
| -81.793 | -74.193 | -77.993 | 904 | 30.17 | 2899 | 1001 | 96.76 | 33.41 |
| -74.193 | -65.947 | -70.070 | 97 | 3.24 | 2996 | 97 | 100.00 | 3.24 |
| Autor: Grupo 4 - Minas | ||||||||
par(mar = c(5, 5, 4, 2))
hist(LON, breaks = breaks, col = "#C00000", border = "white",
main = "Gráfica 1: Frecuencia Absoluta Global — Longitud (x)",
xlab = "Longitud (°)", ylab = "Frecuencia absoluta")
LON_z <- LON[LON >= -108 & LON <= -60]
if (length(LON_z) > 1) {
k_z <- ceiling(1 + 3.322 * log10(length(LON_z)))
br_z <- seq(min(LON_z), max(LON_z), length.out = k_z + 1)
par(mar = c(5, 5, 4, 2))
hist(LON_z, breaks = br_z, col = "#C00000", border = "white",
main = "Gráfica 2: Rango Principal — Longitud (-108° a -60°)",
xlab = "Longitud (°)", ylab = "Frecuencia absoluta")
hist(LON_z, breaks = br_z, col = "#C00000", border = "white",
freq = FALSE,
main = "Gráfica 3: Frecuencia Relativa Local — Longitud",
xlab = "Longitud (°)", ylab = "Densidad")
}
par(mar = c(5, 5, 4, 2))
hist(LON, breaks = breaks, col = "#C00000", border = "white",
freq = FALSE,
main = "Gráfica 4: Frecuencia Relativa Global — Longitud (x)",
xlab = "Longitud (°)", ylab = "Densidad")
h <- hist(LON, breaks = breaks, col = "#C00000", border = "white",
main = "Gráfica 5: Histograma con Polígono de Frecuencias — Longitud",
xlab = "Longitud (°)", ylab = "Frecuencia absoluta")
lines(h$mids, h$counts, type = "o", pch = 16, col = "black", 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 — Longitud (x)",
xlab = "Longitud (°)", ylab = "Frecuencia acumulada")
lines(ojiva$mc, ojiva$Nd, type = "b", col = "#C00000", pch = 16, lwd = 1.5)
legend("right", legend = c("Ascendente","Descendente"),
col = c("black","#C00000"), lwd = 2, pch = 16, bty = "n")
boxplot(LON, horizontal = TRUE, col = "#F4CCCC", border = "#7B0000",
main = "Gráfica 7: Diagrama de Caja — Longitud (x)",
xlab = "Longitud (°)")
hist(LON, breaks = breaks, col = "lightgray", border = "white",
main = "Gráfica 8: Histograma con Diagrama de Caja Superpuesto — Longitud",
xlab = "Longitud (°)", ylab = "Frecuencia absoluta")
boxplot(LON, horizontal = TRUE, add = TRUE,
at = par("usr")[4] * 0.08, boxwex = par("usr")[4] * 0.06,
col = rgb(0.75, 0, 0, 0.3), border = "#7B0000", xaxt = "n", yaxt = "n")
La longitud se agrupó en 3 zonas geográficas, cada una ajustada a un modelo probabilístico distinto según su comportamiento:
# Agrupacion 1: -165° a -100° — Modelo Exponencial
g1 <- LON[LON >= -165 & LON < -100]
g1_pos <- abs(g1) - 100 + 0.001
k1 <- ceiling(1 + 3.322 * log10(max(length(g1), 2)))
br1 <- seq(min(g1), max(g1), length.out = k1 + 1)
lam <- 1 / mean(g1_pos)
cat("--- Agrupacion 1: -165 a -100 (Alaska y oeste) ---\n")
## --- Agrupacion 1: -165 a -100 (Alaska y oeste) ---
cat("n =", length(g1), "| lambda =", round(lam, 4), "\n")
## n = 488 | lambda = 0.0736
par(mar = c(5, 5, 4, 2))
hist(g1, breaks = br1, col = "#FFC7CE", border = "white", freq = FALSE,
main = "Gráfica 9: Modelo Exponencial — Longitud (-165° a -100°)",
xlab = "Longitud (°)", ylab = "Densidad")
curve(dexp(abs(x) - 100 + 0.001, rate = lam), add = TRUE, col = "red", lwd = 2)
legend("topright", legend = c("Histograma","Modelo exponencial"),
fill = c("#FFC7CE", NA), lty = c(NA,1),
col = c("black","red"), lwd = c(NA,2), border = c("black",NA), bty = "n")
# Agrupacion 2: -100° a -80° — Modelo Normal
g2 <- LON[LON >= -100 & LON < -80]
mu2 <- mean(g2)
sig2 <- sd(g2)
k2 <- ceiling(1 + 3.322 * log10(length(g2)))
br2 <- seq(min(g2), max(g2), length.out = k2 + 1)
cat("--- Agrupacion 2: -100 a -80 (Centro y Appalachia) ---\n")
## --- Agrupacion 2: -100 a -80 (Centro y Appalachia) ---
cat("n =", length(g2), "| mu =", round(mu2,3), "| sigma =", round(sig2,3), "\n")
## n = 1953 | mu = -84.994 | sigma = 4.865
par(mar = c(5, 5, 4, 2))
hist(g2, breaks = br2, col = "#C6EFCE", border = "white", freq = FALSE,
main = "Gráfica 10: Modelo Normal — Longitud (-100° a -80°)",
xlab = "Longitud (°)", ylab = "Densidad")
curve(dnorm(x, mean = mu2, sd = sig2), add = TRUE, col = "darkgreen", lwd = 2)
legend("topright", legend = c("Histograma","Modelo normal"),
fill = c("#C6EFCE", NA), lty = c(NA,1),
col = c("black","darkgreen"), lwd = c(NA,2), border = c("black",NA), bty = "n")
# Agrupacion 3: -80° a -65° — Modelo Gamma
g3 <- LON[LON >= -80 & LON <= -65]
g3_pos <- abs(g3) - 65 + 0.001
k3 <- ceiling(1 + 3.322 * log10(length(g3)))
br3 <- seq(min(g3), max(g3), length.out = k3 + 1)
fg <- fitdistr(g3_pos, "gamma")
## Warning in densfun(x, parm[1], parm[2], ...): Se han producido NaNs
## Warning in densfun(x, parm[1], parm[2], ...): Se han producido NaNs
## Warning in densfun(x, parm[1], parm[2], ...): Se han producido NaNs
sh <- fg$estimate["shape"]
rt <- fg$estimate["rate"]
cat("--- Agrupacion 3: -80 a -65 (Costa atlantica este) ---\n")
## --- Agrupacion 3: -80 a -65 (Costa atlantica este) ---
cat("n =", length(g3), "| shape =", round(sh,4), "| rate =", round(rt,4), "\n")
## n = 554 | shape = 15.6911 | rate = 1.3313
par(mar = c(5, 5, 4, 2))
hist(g3, breaks = br3, col = "#DDEBF7", border = "white", freq = FALSE,
main = "Gráfica 11: Modelo Gamma — Longitud (-80° a -65°)",
xlab = "Longitud (°)", ylab = "Densidad")
x_g3 <- seq(0.001, max(g3_pos), length.out = 200)
lines(-(x_g3 + 65), dgamma(x_g3, shape = sh, rate = rt), col = "blue", lwd = 2)
legend("topright", legend = c("Histograma","Modelo gamma"),
fill = c("#DDEBF7", NA), lty = c(NA,1),
col = c("black","blue"), lwd = c(NA,2), border = c("black",NA), bty = "n")
Tabla 3: Resumen de Modelos Probabilísticos
data.frame(
Agrupacion = c("-165° a -100°","-100° a -80°","-80° a -65°"),
n = c(length(g1), length(g2), length(g3)),
Pct = c(round(length(g1)/n*100,1),
round(length(g2)/n*100,1),
round(length(g3)/n*100,1)),
Modelo = c("Exponencial","Normal","Gamma"),
Parametros = c(paste0("lambda=",round(lam,4)),
paste0("mu=",round(mu2,3)," | sigma=",round(sig2,3)),
paste0("shape=",round(sh,3)," | rate=",round(rt,3))),
Region = c("Alaska y oeste lejano",
"Centro y Appalachia",
"Costa atlántica este")
) %>%
gt() %>%
tab_header(
title = md("**Tabla 3**"),
subtitle = md("Resumen de modelos probabilísticos — Longitud (x)")
) %>%
cols_label(
Agrupacion="Agrupación", n="n", Pct="% total",
Modelo="Modelo", Parametros="Parámetros", Region="Región"
) %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 3 | |||||
| Resumen de modelos probabilísticos — Longitud (x) | |||||
| Agrupación | n | % total | Modelo | Parámetros | Región |
|---|---|---|---|---|---|
| -165° a -100° | 488 | 16.3 | Exponencial | lambda=0.0736 | Alaska y oeste lejano |
| -100° a -80° | 1953 | 65.2 | Normal | mu=-84.994 | sigma=4.865 | Centro y Appalachia |
| -80° a -65° | 554 | 18.5 | Gamma | shape=15.691 | rate=1.331 | Costa atlántica este |
| Autor: Grupo 4 - Minas | |||||
minimo <- min(LON)
maximo <- max(LON)
media <- mean(LON)
mediana <- median(LON)
moda <- as.numeric(names(sort(table(LON), decreasing = TRUE))[1])
rango2 <- maximo - minimo
varianza <- var(LON)
desv <- sd(LON)
cv <- desv / abs(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(LON, 0.25)
q2 <- quantile(LON, 0.50)
q3 <- quantile(LON, 0.75)
iqr_val <- q3 - q1
lim_inf <- q1 - 1.5 * iqr_val
lim_sup <- q3 + 1.5 * iqr_val
outliers <- LON[LON < lim_inf | LON > lim_sup]
n_outliers <- length(outliers)
porc_outliers <- round(n_outliers / n * 100, 2)
asimetria <- skewness(LON)
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(LON, 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 4: Tendencia Central
data.frame(
Indicador = c("Mínimo","Media","Mediana","Moda","Máximo","Rango"),
Valor = round(c(minimo, media, mediana, moda, maximo, rango2), 3),
Unidad = rep("grados", 6)
) %>%
gt() %>%
tab_header(title = md("**Tabla 4**"),
subtitle = "Indicadores de Tendencia Central — LON") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 4 | ||
| Indicadores de Tendencia Central — LON | ||
| Indicador | Valor | Unidad |
|---|---|---|
| Mínimo | -165.393 | grados |
| Media | -88.160 | grados |
| Mediana | -82.804 | grados |
| Moda | -82.141 | grados |
| Máximo | -65.948 | grados |
| Rango | 99.445 | grados |
| Autor: Grupo 4 - Minas | ||
Tabla 5: Dispersión
data.frame(
Indicador = c("Varianza","Desviación Estándar","Coeficiente de Variación"),
Valor = c(round(varianza,3), round(desv,3), 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 5**"),
subtitle = "Indicadores de Dispersión — LON") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 5 | ||
| Indicadores de Dispersión — LON | ||
| Indicador | Valor | Interpretacion |
|---|---|---|
| Varianza | 168.287 | Medida de dispersión al cuadrado |
| Desviación Estándar | 12.973 | Dispersión promedio respecto a la media |
| Coeficiente de Variación | 14.71% | Dispersión relativa: BAJA (CV < 15%) |
| Autor: Grupo 4 - Minas | ||
Tabla 6: 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,3), round(q2,3), round(q3,3), round(iqr_val,3),
round(lim_inf,3), round(lim_sup,3),
paste0(n_outliers, " (", porc_outliers, "%)"))
) %>%
gt() %>%
tab_header(title = md("**Tabla 6**"),
subtitle = "Indicadores de Posición y Outliers — LON") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 6 | |
| Indicadores de Posición y Outliers — LON | |
| Indicador | Valor |
|---|---|
| Cuartil 1 (Q1) | -91.707 |
| Cuartil 2 (Q2-Mediana) | -82.804 |
| Cuartil 3 (Q3) | -81.194 |
| Rango Intercuartílico (IQR) | 10.513 |
| Límite Inferior Outliers | -107.476 |
| Límite Superior Outliers | -65.424 |
| Número de Outliers | 372 (12.42%) |
| Autor: Grupo 4 - Minas | |
Tabla 7: 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 7**"),
subtitle = "Indicadores de Forma — LON") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 7 | |
| Indicadores de Forma — LON | |
| Indicador | Valor |
|---|---|
| Coeficiente de Asimetría (Fisher) | -1.7628 |
| Interpretación Asimetría | Asimetría negativa (sesgo a la izquierda) |
| Coeficiente de Curtosis (Excedente) | 3.5915 |
| Interpretación Curtosis | Distribución leptocúrtica (picuda) |
| Autor: Grupo 4 - Minas | |
Tabla 8: 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,3), round(media,3), round(mediana,3), round(moda,3),
round(maximo,3), round(rango2,3),
round(varianza,3), round(desv,3), paste0(round(cv,2),"%"),
round(q1,3), round(q2,3), round(q3,3), round(iqr_val,3),
round(asimetria,4), interpretacion_asimetria,
round(curtosis,4), interpretacion_curtosis)
) %>%
gt() %>%
tab_header(title = md("**Tabla 8**"),
subtitle = "Resumen Completo de Indicadores — LON") %>%
tab_source_note(md("Autor: Grupo 4 - Minas"))
| Tabla 8 | ||
| Resumen Completo de Indicadores — LON | ||
| Categoria | Indicador | Valor |
|---|---|---|
| Tendencia Central | Mínimo | -165.393 |
| Tendencia Central | Media | -88.16 |
| Tendencia Central | Mediana | -82.804 |
| Tendencia Central | Moda | -82.141 |
| Tendencia Central | Máximo | -65.948 |
| Tendencia Central | Rango | 99.445 |
| Dispersión | Varianza | 168.287 |
| Dispersión | Desviación Estándar | 12.973 |
| Dispersión | Coeficiente de Variación | 14.71% |
| Posición | Cuartil 1 (Q1) | -91.707 |
| Posición | Cuartil 2 (Q2) | -82.804 |
| Posición | Cuartil 3 (Q3) | -81.194 |
| Posición | Rango Intercuartílico | 10.513 |
| Forma | Asimetría (g1) | -1.7628 |
| Forma | Interpretación Asimetría | Asimetría negativa (sesgo a la izquierda) |
| Forma | Curtosis (g2) | 3.5915 |
| Forma | Interpretación Curtosis | Distribución leptocúrtica (picuda) |
| Autor: Grupo 4 - Minas | ||
cat("Numero de valores atipicos:", n_outliers, "\n")
## Numero de valores atipicos: 372
if (n_outliers > 0) {
cat("Minimo outlier:", round(min(outliers), 3), "grados\n")
cat("Maximo outlier:", round(max(outliers), 3), "grados\n")
}
## Minimo outlier: -165.393 grados
## Maximo outlier: -107.536 grados
conclusion <- sprintf(
"La variable LON registra la longitud geográfica de cada instalación minera. Los valores oscilan entre %.3f° y %.3f°, con media de %.3f° y mediana de %.3f°. El análisis por agrupaciones geográficas muestra tres zonas: Alaska y oeste (-165° a -100°) con %.1f%% de las minas y distribución exponencial (baja densidad, datos dispersos); Centro y Appalachia (-100° a -80°) con %.1f%% de las minas y distribución normal (zona de mayor concentración minera); y Costa atlántica este (-80° a -65°) con %.1f%% de las minas y distribución gamma (asimétrica, cola hacia el este). La mayor concentración en la zona central confirma que Appalachia es el núcleo minero de EE.UU., consistente con los estados que reportan mayores emisiones de CO2, NOx y CH4 en 2018.",
min(LON), max(LON), media, mediana,
round(length(g1)/n*100,1),
round(length(g2)/n*100,1),
round(length(g3)/n*100,1)
)
print(conclusion)
## [1] "La variable LON registra la longitud geográfica de cada instalación minera. Los valores oscilan entre -165.393° y -65.948°, con media de -88.160° y mediana de -82.804°. El análisis por agrupaciones geográficas muestra tres zonas: Alaska y oeste (-165° a -100°) con 16.3% de las minas y distribución exponencial (baja densidad, datos dispersos); Centro y Appalachia (-100° a -80°) con 65.2% de las minas y distribución normal (zona de mayor concentración minera); y Costa atlántica este (-80° a -65°) con 18.5% de las minas y distribución gamma (asimétrica, cola hacia el este). La mayor concentración en la zona central confirma que Appalachia es el núcleo minero de EE.UU., consistente con los estados que reportan mayores emisiones de CO2, NOx y CH4 en 2018."