1 Carga de Datos y Librerías

library(dplyr)
library(stringr)
library(gt)

datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
                   sep = ";", stringsAsFactors = FALSE)

cat("Datos cargados correctamente\n")
## Datos cargados correctamente
cat("Numero de observaciones:", nrow(datos), "\n")
## Numero de observaciones: 2996
# Extraer variable
df_estado <- data.frame(
  estado = toupper(trimws(datos$MSTATE))
)

# Reemplazar categorias - agrupar 50 estados en 8 regiones
# (misma agrupación usada en la fase descriptiva, para mantener
# consistencia metodológica entre fases)
df_estado$region <- case_when(

  # --- APPALACHIA ---
  df_estado$estado %in% c(
    "KY", "WV", "VA", "PA", "TN"
  ) ~ "Appalachia",

  # --- SUR ---
  df_estado$estado %in% c(
    "AL", "GA", "MS", "AR", "LA",
    "FL", "SC", "NC", "TX", "OK"
  ) ~ "Sur",

  # --- NORESTE ---
  df_estado$estado %in% c(
    "OH", "IN", "NY", "MD",
    "NJ", "CT", "MA", "VT", "NH",
    "ME", "RI", "DE"
  ) ~ "Noreste",

  # --- CENTRO ---
  df_estado$estado %in% c(
    "IL", "MO", "KS", "IA", "MN",
    "WI", "ND", "SD", "NE", "MI"
  ) ~ "Centro",

  # --- SUROESTE ---
  df_estado$estado %in% c(
    "AZ", "NM", "CO", "UT", "NV", "CA"
  ) ~ "Suroeste",

  # --- NOROESTE ---
  df_estado$estado %in% c(
    "WA", "OR", "ID", "MT", "WY"
  ) ~ "Noroeste",

  # --- ALASKA/HAWAII ---
  df_estado$estado %in% c(
    "AK", "HI"
  ) ~ "Alaska/Hawaii",

  TRUE ~ "Otros"
)

# Convertir en factor
df_estado$region <- factor(df_estado$region)

2 Tabla de Distribución de Probabilidad

# Frecuencias y probabilidades
ni <- table(df_estado$region)
hi <- round(prop.table(ni), 4)
P  <- round(hi * 100, 2)

# Crear tabla base
tabla_final <- data.frame(
  Region = names(ni),
  ni     = as.numeric(ni),
  hi     = as.numeric(hi),
  P      = as.numeric(P)
)

# Fila TOTAL
fila_total <- data.frame(
  Region = "TOTAL",
  ni     = sum(tabla_final$ni),
  hi     = round(sum(tabla_final$hi), 4),
  P      = round(sum(tabla_final$P), 2)
)

# Agregar TOTAL
tabla_final <- rbind(
  tabla_final,
  fila_total
)

tabla_final
##          Region   ni     hi      P
## 1 Alaska/Hawaii   20 0.0067   0.67
## 2    Appalachia 1506 0.5027  50.27
## 3        Centro  161 0.0537   5.37
## 4       Noreste  338 0.1128  11.28
## 5      Noroeste  130 0.0434   4.34
## 6         Otros   78 0.0260   2.60
## 7           Sur  464 0.1549  15.49
## 8      Suroeste  299 0.0998   9.98
## 9         TOTAL 2996 1.0000 100.00
# Tabla gt
tabla_final %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla N° 1**"),
    subtitle = md("Distribución de probabilidad de la ubicación regional de las instalaciones mineras en Estados Unidos")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 4 - Minas")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black",
    row.striping.include_table_body = TRUE
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(rows = Region == "TOTAL")
  )
Tabla N° 1
Distribución de probabilidad de la ubicación regional de las instalaciones mineras en Estados Unidos
Region ni hi P
Alaska/Hawaii 20 0.0067 0.67
Appalachia 1506 0.5027 50.27
Centro 161 0.0537 5.37
Noreste 338 0.1128 11.28
Noroeste 130 0.0434 4.34
Otros 78 0.0260 2.60
Sur 464 0.1549 15.49
Suroeste 299 0.0998 9.98
TOTAL 2996 1.0000 100.00
Autor: Grupo 4 - Minas

3 Tabla de Distribución de Probabilidad Agrupada

# Frecuencias acumuladas
Ni <- cumsum(tabla_final$ni[tabla_final$Region != "TOTAL"])
Hi <- round(cumsum(tabla_final$hi[tabla_final$Region != "TOTAL"]), 4)
Pi <- round(cumsum(tabla_final$P[tabla_final$Region != "TOTAL"]), 2)

# Tabla agrupada
tabla_agrupada <- data.frame(
  Region = tabla_final$Region[tabla_final$Region != "TOTAL"],
  ni     = tabla_final$ni[tabla_final$Region != "TOTAL"],
  hi     = tabla_final$hi[tabla_final$Region != "TOTAL"],
  P      = tabla_final$P[tabla_final$Region != "TOTAL"],
  Ni     = Ni,
  Hi     = Hi,
  Pi     = Pi
)

tabla_agrupada
##          Region   ni     hi     P   Ni     Hi     Pi
## 1 Alaska/Hawaii   20 0.0067  0.67   20 0.0067   0.67
## 2    Appalachia 1506 0.5027 50.27 1526 0.5094  50.94
## 3        Centro  161 0.0537  5.37 1687 0.5631  56.31
## 4       Noreste  338 0.1128 11.28 2025 0.6759  67.59
## 5      Noroeste  130 0.0434  4.34 2155 0.7193  71.93
## 6         Otros   78 0.0260  2.60 2233 0.7453  74.53
## 7           Sur  464 0.1549 15.49 2697 0.9002  90.02
## 8      Suroeste  299 0.0998  9.98 2996 1.0000 100.00
# Tabla agrupada gt
tabla_agrupada %>%
  gt() %>%
  tab_header(
    title    = md("**Tabla N° 2**"),
    subtitle = md("Distribución acumulada de probabilidad de las regiones analizadas")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 4 - Minas")
  )
Tabla N° 2
Distribución acumulada de probabilidad de las regiones analizadas
Region ni hi P Ni Hi Pi
Alaska/Hawaii 20 0.0067 0.67 20 0.0067 0.67
Appalachia 1506 0.5027 50.27 1526 0.5094 50.94
Centro 161 0.0537 5.37 1687 0.5631 56.31
Noreste 338 0.1128 11.28 2025 0.6759 67.59
Noroeste 130 0.0434 4.34 2155 0.7193 71.93
Otros 78 0.0260 2.60 2233 0.7453 74.53
Sur 464 0.1549 15.49 2697 0.9002 90.02
Suroeste 299 0.0998 9.98 2996 1.0000 100.00
Autor: Grupo 4 - Minas

4 Gráficas de Distribución de Probabilidad

# Extraer probabilidades sin TOTAL
P_global <- as.numeric(
  tabla_final$P[1:(nrow(tabla_final)-1)]
)

# Gráfico de barras
par(mar = c(8, 5, 4, 2))
barplot(
  P_global,
  main      = "Gráfica N°1: Distribución regional de instalaciones\nmineras en Estados Unidos",
  cex.main  = 0.8,
  xlab      = "",
  ylab      = "Probabilidad (%)",
  col       = "green",
  names.arg = tabla_final$Region[1:(nrow(tabla_final)-1)],
  cex.names = 0.85,
  ylim      = c(0, 100),
  las       = 2
)

5 Cálculo de Probabilidad

# Eliminar fila TOTAL
tabla_sin_total <- tabla_final[
  tabla_final$Region != "TOTAL",
]

# Extraer probabilidad de la región Appalachia
prob_appalachia <- tabla_sin_total$P[
  tabla_sin_total$Region == "Appalachia"
]

# Gráfico explicativo
plot(
  1,
  type = "n",
  axes = FALSE,
  xlab = "",
  ylab = ""
)
text(
  x = 1,
  y = 1,
  labels = paste0(
    "Cálculo de probabilidad\n(Estimación general)\n\n",
    "¿Qué probabilidad existe de que una instalación\n",
    "minera registrada en Estados Unidos se\n",
    "ubique en la región Appalachia?\n\n",
    "Probabilidad = ", prob_appalachia, " (%)"
  ),
  cex = 1.3,
  col = "black",
  font = 2
)

6 Conclusiones

conclusion <- sprintf(
  "La distribución regional de las instalaciones mineras presenta diferencias probabilísticas entre las 8 regiones analizadas de Estados Unidos (Appalachia, Sur, Noreste, Centro, Suroeste, Noroeste, Alaska/Hawaii y Otros). La región %s registra la mayor participación relativa dentro del conjunto de observaciones, indicando una mayor concentración de instalaciones mineras provenientes de esta zona. Las gráficas acumuladas y porcentuales permiten visualizar el comportamiento probabilístico regional y facilitar la interpretación espacial de las instalaciones mineras analizadas.",
  tabla_final$Region[which.max(tabla_final$ni[tabla_final$Region != "TOTAL"])]
)
print(conclusion)
## [1] "La distribución regional de las instalaciones mineras presenta diferencias probabilísticas entre las 8 regiones analizadas de Estados Unidos (Appalachia, Sur, Noreste, Centro, Suroeste, Noroeste, Alaska/Hawaii y Otros). La región Appalachia registra la mayor participación relativa dentro del conjunto de observaciones, indicando una mayor concentración de instalaciones mineras provenientes de esta zona. Las gráficas acumuladas y porcentuales permiten visualizar el comportamiento probabilístico regional y facilitar la interpretación espacial de las instalaciones mineras analizadas."