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

)