library(dplyr)
library(stringr)
library(gt)
library(readxl)
library(here)
library(readxl)
datos <- read.csv("D:/mining_dataset_metodo_extraccion.csv")
# Extraer variable
df_extraccion <- data.frame(
extraccion = toupper(trimws(datos$`Metodo_Extraccion`))
)
# Reemplazar categorías
df_extraccion$extraccion <- case_when(
toupper(df_extraccion$extraccion) == "CIELO ABIERTO" ~ "Cielo Abierto",
toupper(df_extraccion$extraccion) == "SUBTERRANEO" ~ "Subterráneo",
toupper(df_extraccion$extraccion) == "MIXTO" ~ "Mixto",
toupper(df_extraccion$extraccion) == "OTROS" ~ "Otros",
TRUE ~ "Otros"
)
# Orden de categorías
orden_extraccion <- c(
"Cielo Abierto",
"Subterráneo",
"Mixto",
"Otros"
)
# Convertir en factor ordenado
df_extraccion$extraccion <- factor(
df_extraccion$extraccion,
levels = orden_extraccion
)
# Frecuencias y probabilidad
ni <- table(df_extraccion$extraccion)
hi <- round(prop.table(ni), 4)
P <- round(hi * 100, 2)
# Crear tabla base
tabla_finalextraccion <- data.frame(
Metodo_Extraccion = names(ni),
ni = as.numeric(ni),
hi = as.numeric(hi),
P = as.numeric(P)
)
# Fila TOTAL
fila_total <- data.frame(
Metodo_Extraccion = "TOTAL",
ni = sum(tabla_finalextraccion$ni),
hi = round(sum(tabla_finalextraccion$hi), 4),
P = round(sum(tabla_finalextraccion$P), 2)
)
# Mostrar
tabla_finalextraccion <- rbind(tabla_finalextraccion, fila_total)
tabla_finalextraccion
## Metodo_Extraccion ni hi P
## 1 Cielo Abierto 1125 0.4500 45.00
## 2 Subterráneo 804 0.3216 32.16
## 3 Mixto 363 0.1452 14.52
## 4 Otros 208 0.0832 8.32
## 5 TOTAL 2500 1.0000 100.00
tabla_extraccion_gt <- tabla_finalextraccion %>%
gt() %>%
tab_header(
title = md("**Tabla N° 4**"),
subtitle = md("Distribución de probabilidad de los métodos de extracción utilizados 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 = Metodo_Extraccion == "TOTAL")
)
tabla_extraccion_gt
| Tabla N° 4 |
| Distribución de probabilidad de los métodos de extracción utilizados en depósitos minerales de Estados Unidos |
| Metodo_Extraccion |
ni |
hi |
P |
| Cielo Abierto |
1125 |
0.4500 |
45.00 |
| Subterráneo |
804 |
0.3216 |
32.16 |
| Mixto |
363 |
0.1452 |
14.52 |
| Otros |
208 |
0.0832 |
8.32 |
| TOTAL |
2500 |
1.0000 |
100.00 |
| Autor: Grupo 2 |
# Extraer probabilidad (%) sin la fila TOTAL
P_global <- as.numeric(tabla_finalextraccion$P[1:(nrow(tabla_finalextraccion)-1)])
barplot(
P_global,
main = "Gráfica Nº4: Distribución de probabilidad de los métodos\nde extracción en depósitos minerales de Estados Unidos",
cex.main = 0.8,
xlab = "Método de extracción",
ylab = "Probabilidad (%)",
col = "blue",
names.arg = tabla_finalextraccion$Metodo_Extraccion[1:(nrow(tabla_finalextraccion)-1)],
cex.names = 0.9,
ylim = c(0, 100),
las = 1
)

# Eliminar fila TOTAL
tabla_sin_total <- tabla_finalextraccion[
tabla_finalextraccion$Metodo_Extraccion != "TOTAL",
]
# Extraer probabilidad de la categoría "Subterráneo"
prob_subterraneo <- tabla_sin_total$P[
tabla_sin_total$Metodo_Extraccion == "Subterráneo"
]
# 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 un depósito\n",
"mineral analizado en Estados Unidos utilice un\n",
"método de extracción subterráneo?\n\n",
"Probabilidad = ", prob_subterraneo, " (%)",
sep = ""
),
cex = 1.3,
col = "black",
font = 2
)
