1. Justificación de la variable

La variable y representa la latitud geográfica de cada instalación minera registrada en el dataset. Su análisis permite identificar la distribución espacial norte-sur de la actividad minera en los Estados Unidos y determinar las zonas geográficas donde existe una mayor concentración de explotaciones mineras.

La latitud constituye una variable de interés dentro del proyecto porque complementa el análisis de correlación entre la actividad minera y las emisiones de CO₂, NOx y CH₄. La localización geográfica de las minas puede estar asociada a características climáticas, geológicas y económicas que influyen en la intensidad de la actividad extractiva y, por consiguiente, en los niveles de emisiones reportados.

El estudio de esta variable permitirá identificar patrones de concentración espacial y establecer si las regiones con mayor actividad minera coinciden con aquellas que presentan mayores niveles de emisiones atmosféricas.

2. Preparación de datos

LAT <- as.numeric(gsub(",", ".", datos$y))
LAT <- LAT[!is.na(LAT)]

n <- length(LAT)

data.frame(
  Variable = "Latitud (y)",
  Registros_Validos = n,
  Minimo = round(min(LAT),3),
  Maximo = round(max(LAT),3)
)
##      Variable Registros_Validos Minimo Maximo
## 1 Latitud (y)              2993 18.375 68.065

3. Parámetros de clasificación

La construcción de la tabla de frecuencias se realizó utilizando la regla de Sturges, la cual permite determinar el número adecuado de intervalos para representar la distribución de una variable cuantitativa continua.

k <- ceiling(1 + 3.322 * log10(n))

am <- (max(LAT) - min(LAT)) / k
am <- round(am, 1)

data.frame(
  Parametro = c("Número de clases (k)", "Amplitud de clase"),
  Valor = c(k, am)
)
##              Parametro Valor
## 1 Número de clases (k)  13.0
## 2    Amplitud de clase   3.8

3.1 Definición de intervalos

breaks <- seq(
  min(LAT),
  min(LAT) + k * am,
  length.out = k + 1
)

breaks[length(breaks)] <- max(LAT) + 0.001

breaks
##  [1] 18.37520 22.17520 25.97520 29.77520 33.57520 37.37520 41.17520 44.97520
##  [9] 48.77520 52.57520 56.37520 60.17520 63.97520 68.06618

4. Tabla de frecuencias

4.1 Cálculo de frecuencias

cortes <- cut(
  LAT,
  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
)

4.2 Tabla 1. Distribución de frecuencias

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 1**"),
    subtitle = md("Distribución de frecuencias — Latitud (y)")
  ) %>%
  cols_label(
    Desde = "Desde (°)",
    Hasta = "Hasta (°)",
    MC = "Marca de Clase",
    fi = "fi",
    fri = "fri (%)",
    Ni = "Ni Asc.",
    Nd = "Ni Desc.",
    Hi = "Hi Asc. %",
    Hd = "Hi Desc. %"
  ) %>%
  tab_source_note(
    md("Fuente: Dataset MSHA — Instalaciones Mineras EE.UU.")
  )
Tabla 1
Distribución de frecuencias — Latitud (y)
Desde (°) Hasta (°) Marca de Clase fi fri (%) Ni Asc. Ni Desc. Hi Asc. % Hi Desc. %
18.375 22.175 20.275 5 0.17 5 2993 0.17 100.00
22.175 25.975 24.075 0 0.00 5 2988 0.17 99.83
25.975 29.775 27.875 34 1.14 39 2988 1.30 99.83
29.775 33.575 31.675 249 8.32 288 2954 9.62 98.70
33.575 37.375 35.475 899 30.04 1187 2705 39.66 90.38
37.375 41.175 39.275 1358 45.37 2545 1806 85.03 60.34
41.175 44.975 43.075 331 11.06 2876 448 96.09 14.97
44.975 48.775 46.875 95 3.17 2971 117 99.26 3.91
48.775 52.575 50.675 2 0.07 2973 22 99.33 0.74
52.575 56.375 54.475 1 0.03 2974 20 99.37 0.67
56.375 60.175 58.275 1 0.03 2975 19 99.40 0.63
60.175 63.975 62.075 4 0.13 2979 18 99.53 0.60
63.975 68.066 66.021 14 0.47 2993 14 100.00 0.47
Fuente: Dataset MSHA — Instalaciones Mineras EE.UU.

5. Representaciones gráficas

hist(
  LAT,
  breaks = breaks,
  col = "#FF0000",
  border = "white",
  main = "Gráfica 1: Frecuencia Absoluta Global — Latitud (y)",
  xlab = "Latitud (°)",
  ylab = "Frecuencia absoluta"
)

LAT_z <- LAT[LAT >= 30 & LAT <= 50]

k_z <- ceiling(1 + 3.322 * log10(length(LAT_z)))

br_z <- seq(
  min(LAT_z),
  max(LAT_z),
  length.out = k_z + 1
)
hist(
  LAT_z,
  breaks = br_z,
  col = "#FF0000",
  border = "white",
  main = "Gráfica 2: Rango Principal — Latitud (30° a 50°)",
  xlab = "Latitud (°)",
  ylab = "Frecuencia absoluta"
)

hist(
  LAT_z,
  breaks = br_z,
  col = "#FF0000",
  border = "white",
  freq = FALSE,
  main = "Gráfica 3: Frecuencia Relativa Local — Latitud",
  xlab = "Latitud (°)",
  ylab = "Densidad"
)

hist(
  LAT,
  breaks = breaks,
  col = "#FF0000",
  border = "white",
  freq = FALSE,
  main = "Gráfica 4: Frecuencia Relativa Global — Latitud (y)",
  xlab = "Latitud (°)",
  ylab = "Densidad"
)

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 5: Ojivas Combinadas — Latitud (y)",
  xlab = "Latitud (°)",
  ylab = "Frecuencia acumulada"
)

lines(
  ojiva$mc,
  ojiva$Nd,
  type = "b",
  col = "#FF0000",
  pch = 16,
  lwd = 1.5
)

legend(
  "right",
  legend = c("Ascendente", "Descendente"),
  col = c("black", "#FF0000"),
  lwd = 2,
  pch = 16,
  bty = "n"
)

boxplot(
  LAT,
  horizontal = TRUE,
  col = "#FFB3B3",
  border = "#7B0000",
  main = "Gráfica 6: Diagrama de Caja — Latitud (y)",
  xlab = "Latitud (°)"
)

# 6. Modelos probabilísticos La primera agrupación corresponde a las instalaciones localizadas entre 18° y 35° de latitud, asociadas principalmente a la región sur de Estados Unidos y Puerto Rico. Para este grupo se ajusta una distribución exponencial.

g1 <- LAT[LAT >= 18 & LAT < 35]

g1_pos <- g1 - 18 + 0.001

k1 <- ceiling(1 + 3.322 * log10(length(g1)))

br1 <- seq(
  min(g1),
  max(g1),
  length.out = k1 + 1
)

lam <- 1 / mean(g1_pos)
hist(
  g1,
  breaks = br1,
  col = "#FFC7CE",
  border = "white",
  freq = FALSE,
  main = "Gráfica 7: Modelo Exponencial — Latitud (18° a 35°)",
  xlab = "Latitud (°)",
  ylab = "Densidad"
)

curve(
  dexp(x - 18 + 0.001, rate = lam),
  add = TRUE,
  col = "red",
  lwd = 2
)

legend(
  "topright",
  legend = c("Histograma","Modelo exponencial"),
  col = c("black","red"),
  lwd = c(1,2),
  bty = "n"
)

La segunda agrupación comprende las instalaciones localizadas entre 35° y 45° de latitud. Esta zona incluye gran parte de la región central y Appalachia, donde se concentra la mayor actividad minera.

g2 <- LAT[LAT >= 35 & LAT < 45]

mu2 <- mean(g2)
sig2 <- sd(g2)

k2 <- ceiling(1 + 3.322 * log10(length(g2)))

br2 <- seq(
  min(g2),
  max(g2),
  length.out = k2 + 1
)
hist(
  g2,
  breaks = br2,
  col = "#C6EFCE",
  border = "white",
  freq = FALSE,
  main = "Gráfica 8: Modelo Normal — Latitud (35° a 45°)",
  xlab = "Latitud (°)",
  ylab = "Densidad"
)

curve(
  dnorm(x, mean = mu2, sd = sig2),
  add = TRUE,
  col = "darkgreen",
  lwd = 2
)

legend(
  "topright",
  legend = c("Histograma","Modelo normal"),
  col = c("black","darkgreen"),
  lwd = c(1,2),
  bty = "n"
)

La tercera agrupación corresponde a las instalaciones ubicadas entre 45° y 68° de latitud. Esta zona comprende principalmente los estados del norte y Alaska.

g3 <- LAT[LAT >= 45 & LAT <= 68]

g3_pos <- g3 - 45 + 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")

sh <- fg$estimate["shape"]
rt <- fg$estimate["rate"]
hist(
  g3,
  breaks = br3,
  col = "#DDEBF7",
  border = "white",
  freq = FALSE,
  main = "Gráfica 9: Modelo Gamma — Latitud (45° a 68°)",
  xlab = "Latitud (°)",
  ylab = "Densidad"
)

x_g3 <- seq(
  0.001,
  max(g3_pos),
  length.out = 200
)

lines(
  x_g3 + 45,
  dgamma(x_g3, shape = sh, rate = rt),
  col = "blue",
  lwd = 2
)

legend(
  "topright",
  legend = c("Histograma","Modelo gamma"),
  col = c("black","blue"),
  lwd = c(1,2),
  bty = "n"
)

# 7. Resumen de modelos probabilísticos ## Tabla 2. Comparación de modelos probabilísticos

tabla_modelos <- data.frame(
  Grupo = c(
    "18°–35°",
    "35°–45°",
    "45°–68°"
  ),
  Distribucion = c(
    "Exponencial",
    "Normal",
    "Gamma"
  ),
  Parametros = c(
    paste0("λ = ", round(lam, 4)),
    paste0("μ = ", round(mu2, 3),
           ", σ = ", round(sig2, 3)),
    paste0("shape = ", round(sh, 3),
           ", rate = ", round(rt, 3))
  )
)

tabla_modelos %>%
  gt() %>%
  tab_header(
    title = md("**Tabla 2**"),
    subtitle = md("Resumen de modelos probabilísticos ajustados")
  ) %>%
  cols_label(
    Grupo = "Intervalo de Latitud",
    Distribucion = "Distribución",
    Parametros = "Parámetros"
  ) %>%
  tab_source_note(
    md("Fuente: Elaboración propia a partir del Dataset MSHA.")
  )
Tabla 2
Resumen de modelos probabilísticos ajustados
Intervalo de Latitud Distribución Parámetros
18°–35° Exponencial λ = 0.0693
35°–45° Normal μ = 38.798, σ = 2.191
45°–68° Gamma shape = 0.698, rate = 0.15
Fuente: Elaboración propia a partir del Dataset MSHA.

8. Indicadores estadísticos

Tabla 3. Estadísticos descriptivos

media <- mean(LAT)
mediana <- median(LAT)
desv <- sd(LAT)
cv <- desv / media * 100
asim <- skewness(LAT)
curt <- kurtosis(LAT)

error <- qt(0.975, df = n - 1) * desv / sqrt(n)

li <- media - error
ls <- media + error

estadisticos <- data.frame(
  Indicador = c(
    "Media",
    "Mediana",
    "Desviación estándar",
    "Coeficiente de variación (%)",
    "Asimetría",
    "Curtosis",
    "IC 95% inferior",
    "IC 95% superior"
  ),
  Valor = round(
    c(media, mediana, desv, cv,
      asim, curt, li, ls),
    4
  )
)

estadisticos %>%
  gt() %>%
  tab_header(
    title = md("**Tabla 3**"),
    subtitle = md("Indicadores estadísticos de la latitud")
  ) %>%
  cols_label(
    Indicador = "Indicador",
    Valor = "Valor"
  ) %>%
  tab_source_note(
    md("Fuente: Elaboración propia a partir del Dataset MSHA.")
  )
Tabla 3
Indicadores estadísticos de la latitud
Indicador Valor
Media 38.2439
Mediana 37.7645
Desviación estándar 4.1311
Coeficiente de variación (%) 10.8021
Asimetría 1.4855
Curtosis 10.5763
IC 95% inferior 38.0958
IC 95% superior 38.3920
Fuente: Elaboración propia a partir del Dataset MSHA.

9. Valores atípicos

Los valores atípicos fueron identificados mediante el criterio del rango intercuartílico (IQR). Se consideran atípicos aquellos valores que se encuentran por debajo del límite inferior o por encima del límite superior definido por este método.

Q1 <- quantile(LAT, 0.25)
Q3 <- quantile(LAT, 0.75)

IQR_lat <- IQR(LAT)

LI <- Q1 - 1.5 * IQR_lat
LS <- Q3 + 1.5 * IQR_lat

atipicos <- LAT[LAT < LI | LAT > LS]

data.frame(
  Q1 = round(Q1, 3),
  Q3 = round(Q3, 3),
  IQR = round(IQR_lat, 3),
  Limite_Inferior = round(LI, 3),
  Limite_Superior = round(LS, 3),
  Numero_Atipicos = length(atipicos)
)
##        Q1     Q3   IQR Limite_Inferior Limite_Superior Numero_Atipicos
## 25% 36.79 40.414 3.625          31.353          45.851             201

Valores atípicos detectados

if(length(atipicos) > 0){

  data.frame(
    Latitud_Atipica = round(sort(atipicos), 3)
  ) %>%
    gt() %>%
    tab_header(
      title = md("**Tabla 4**"),
      subtitle = md("Valores atípicos identificados en la variable latitud")
    )

} else {

  cat("No se detectaron valores atípicos.")
}
Tabla 4
Valores atípicos identificados en la variable latitud
Latitud_Atipica
18.375
18.376
18.409
21.347
21.921
26.576
26.762
26.861
26.999
27.018
27.019
27.085
27.367
27.379
27.460
27.586
27.667
27.671
27.671
27.687
27.697
27.803
27.832
27.837
27.915
28.489
28.576
28.700
28.709
28.950
29.513
29.537
29.539
29.549
29.580
29.594
29.629
29.637
29.755
29.820
29.828
29.830
29.841
29.868
29.892
29.938
29.942
29.946
29.978
30.004
30.014
30.113
30.150
30.158
30.162
30.242
30.320
30.324
30.328
30.329
30.436
30.468
30.509
30.514
30.533
30.563
30.588
30.592
30.594
30.599
30.610
30.698
30.718
30.718
30.744
30.747
30.748
30.756
30.756
30.762
30.769
30.774
30.805
30.806
30.808
30.811
30.816
30.827
30.843
30.873
30.873
30.884
30.885
30.885
30.887
30.896
30.898
30.915
31.000
31.039
31.101
31.140
31.149
31.165
31.211
31.234
31.300
31.308
31.336
45.864
45.867
45.902
45.921
45.949
46.017
46.063
46.246
46.265
46.365
46.380
46.384
46.439
46.445
46.551
46.725
46.754
46.853
46.874
46.959
46.982
46.997
47.037
47.068
47.219
47.327
47.352
47.408
47.415
47.444
47.457
47.462
47.469
47.472
47.473
47.478
47.478
47.490
47.500
47.506
47.523
47.526
47.530
47.536
47.538
47.540
47.544
47.579
47.583
47.598
47.601
47.609
47.614
47.642
47.690
47.715
47.800
47.814
47.935
48.045
48.054
48.060
48.159
48.168
48.192
48.252
48.300
48.316
48.645
48.672
48.778
48.883
55.507
58.866
60.998
63.132
63.230
63.862
64.303
64.579
64.946
64.979
65.034
65.040
65.061
65.432
65.470
65.482
65.488
66.114
67.486
68.065

10. Conclusiones

La variable y representa la latitud geográfica de las instalaciones mineras registradas en el dataset. Se analizaron 2993 registros válidos, con valores comprendidos entre 18.375° y 68.065° de latitud.

La distribución de frecuencias muestra una mayor concentración de instalaciones mineras entre los 35° y 45° de latitud, región que comprende gran parte de Appalachia y la zona central de los Estados Unidos. Esta concentración espacial sugiere que la actividad minera no se distribuye de manera uniforme en el territorio.

El análisis probabilístico permitió ajustar distintos modelos a cada agrupación de latitudes. Las observaciones entre 18° y 35° fueron representadas mediante una distribución exponencial, las comprendidas entre 35° y 45° mediante una distribución normal y las ubicadas entre 45° y 68° mediante una distribución gamma. Estos modelos describen adecuadamente el comportamiento de la variable en cada zona geográfica.

Los estadísticos descriptivos indican una distribución con media de 38.244° y mediana de 37.764°, lo que permite caracterizar la posición central de las instalaciones mineras dentro del territorio analizado.

Finalmente, la identificación de valores atípicos permitió detectar instalaciones ubicadas en latitudes extremas respecto al patrón general de distribución. En conjunto, los resultados evidencian que la localización geográfica constituye un factor relevante para el estudio de la actividad minera y proporciona una base importante para analizar su relación con las emisiones de CO₂, NOx y CH₄ reportadas en 2018.