##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(stringr)
library(gt)
datos <- read.csv("D:/provincias_estados_unidos_2500.csv")
# Extraer variable
df_provincia <- data.frame(
provincia = toupper(trimws(datos$PROVINCIA))
)
# Reemplazar categorías
df_provincia$provincia <- case_when(
# --- ESTADOS DEL NORTE ---
df_provincia$provincia %in% c(
"WASHINGTON", "OREGON", "IDAHO", "MONTANA", "NORTH DAKOTA",
"SOUTH DAKOTA", "MINNESOTA", "WISCONSIN", "MICHIGAN", "WYOMING",
"MAINE", "NEW HAMPSHIRE", "VERMONT", "MASSACHUSETTS",
"RHODE ISLAND", "CONNECTICUT", "NEW YORK"
) ~ "Norte",
# --- ESTADOS DEL CENTRO ---
df_provincia$provincia %in% c(
"NEVADA", "UTAH", "COLORADO", "NEBRASKA", "IOWA",
"ILLINOIS", "INDIANA", "OHIO", "CALIFORNIA", "SUR DE CALIFORNIA",
"NORTE DE CALIFORNIA", "KANSAS", "MISSOURI", "KENTUCKY",
"WEST VIRGINIA", "VIRGINIA", "MARYLAND", "DELAWARE",
"PENNSYLVANIA", "NEW JERSEY"
) ~ "Centro",
# --- ESTADOS DEL SUR ---
df_provincia$provincia %in% c(
"ARIZONA", "NEW MEXICO", "TEXAS", "OKLAHOMA", "ARKANSAS",
"LOUISIANA", "MISSISSIPPI", "ALABAMA", "TENNESSEE",
"NORTH CAROLINA", "SOUTH CAROLINA", "GEORGIA", "FLORIDA"
) ~ "Sur",
TRUE ~ "Centro"
)
# Orden de categorías
orden_provincia <- c(
"Norte",
"Centro",
"Sur",
"Sin registro"
)
# Convertir en factor ordenado
df_provincia$provincia <- factor(
df_provincia$provincia,
levels = orden_provincia
)
# Frecuencias y probabilidad
ni <- table(df_provincia$provincia)
hi <- round(prop.table(ni), 4)
P <- round(hi * 100, 2)
# Crear tabla base
tabla_finalprovincia <- data.frame(
Provincia = names(ni),
ni = as.numeric(ni),
hi = as.numeric(hi),
P = as.numeric(P)
)
# Fila TOTAL
fila_total <- data.frame(
Provincia = "TOTAL",
ni = sum(tabla_finalprovincia$ni),
hi = round(sum(tabla_finalprovincia$hi), 4),
P = round(sum(tabla_finalprovincia$P), 2)
)
# Mostrar
tabla_finalprovincia <- rbind(tabla_finalprovincia, fila_total)
tabla_finalprovincia
## Provincia ni hi P
## 1 Norte 914 0.3656 36.56
## 2 Centro 978 0.3912 39.12
## 3 Sur 608 0.2432 24.32
## 4 Sin registro 0 0.0000 0.00
## 5 TOTAL 2500 1.0000 100.00
tabla_provincia_gt <- tabla_finalprovincia %>%
gt() %>%
tab_header(
title = md("**Tabla N° 2**"),
subtitle = md("Distribución de probabilidad de la ubicación regional de las muestras geoquímicas y geológicas en depósitos minerales de Estados Unidos")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 2")
) %>%
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 = Provincia == "TOTAL")
)
tabla_provincia_gt
| Tabla N° 2 |
| Distribución de probabilidad de la ubicación regional de las muestras geoquímicas y geológicas en depósitos minerales de Estados Unidos |
| Provincia |
ni |
hi |
P |
| Norte |
914 |
0.3656 |
36.56 |
| Centro |
978 |
0.3912 |
39.12 |
| Sur |
608 |
0.2432 |
24.32 |
| Sin registro |
0 |
0.0000 |
0.00 |
| TOTAL |
2500 |
1.0000 |
100.00 |
| Autor: Grupo 2 |
# Extraer probabilidad (%) sin la fila TOTAL
P_global <- as.numeric(tabla_finalprovincia$P[1:(nrow(tabla_finalprovincia)-1)])
barplot(
P_global,
main = "Gráfica Nº2: Distribución regional de muestras geoquímicas\ny geológicas en depósitos minerales de Estados Unidos",
cex.main = 0.8,
xlab = "Región",
ylab = "Probabilidad (%)",
col = "blue",
names.arg = tabla_finalprovincia$Provincia[1:(nrow(tabla_finalprovincia)-1)],
cex.names = 0.9,
ylim = c(0, 100),
las = 1
)

# Eliminar fila TOTAL
tabla_sin_total <- tabla_finalprovincia[
tabla_finalprovincia$Provincia != "TOTAL",
]
# Extraer probabilidad de la categoría "Centro"
prob_centro <- tabla_sin_total$P[
tabla_sin_total$Provincia == "Centro"
]
# Gráfico de texto explicativo
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
text(
x = 1, y = 1,
labels = paste(
"Cálculo de probabilidad\n(Estimación general)\n\n",
"¿Qué probabilidad existe de que una muestra\n",
"geoquímica o geológica analizada en depósitos\n",
"minerales de Estados Unidos provenga de la\n",
"región Centro?\n\n",
"Probabilidad = ", prob_centro, " (%)",
sep = ""
),
cex = 1.3,
col = "black",
font = 2
)
