CARGA DE DATOS
library(dplyr)
library(stringr)
library(gt)
library(readxl)
datos <- read_excel("D:/mining_dataset_ajustado.xlsx")
ASIGNACION DE VARIABLES
df_extraccion <- data.frame(extraccion = toupper(trimws(datos$Metodo_Extraccion)))
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 ~ NA_character_
)
orden_extraccion <- c(
"Cielo Abierto",
"Subterráneo",
"Mixto",
"Otros"
)
df_extraccion$extraccion <- factor(
df_extraccion$extraccion,
levels = orden_extraccion,
ordered = TRUE
)
TABLA DE DISTRIBUCION DE CANTIDAD
TDF_extraccion <- df_extraccion %>%
count(extraccion, name = "ni") %>%
arrange(extraccion) %>%
mutate(hi = round(ni / sum(ni) * 100, 0))
tabla_extraccion <- TDF_extraccion %>%
gt() %>%
tab_header(
title = "Tabla N° 1",
subtitle = "Distribución del Método de Extracción"
)
tabla_extraccion
| Tabla N° 1 | ||
| Distribución del Método de Extracción | ||
| extraccion | ni | hi |
|---|---|---|
| Cielo Abierto | 1080 | 54 |
| Subterráneo | 720 | 36 |
| Mixto | 100 | 5 |
| Otros | 100 | 5 |
# Agregamos fila TOTAL
tabla_final_extraccion <- TDF_extraccion %>%
mutate(
extraccion = as.character(extraccion)
)
tabla_final_extraccion <- bind_rows(
tabla_final_extraccion,
data.frame(
extraccion = "TOTAL",
ni = sum(tabla_final_extraccion$ni),
hi = sum(tabla_final_extraccion$hi)
)
)
# TABLA ESQUELETO
tabla_extraccion_gt <- tabla_final_extraccion %>%
gt() %>%
tab_header(
title = md("**Tabla Nº2**"),
subtitle = md("Distribución ordinal del método de extracción")
) %>%
cols_label(
extraccion = "Método de Extracción",
ni = "Frecuencia",
hi = "Porcentaje (%)"
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
fmt_number(
columns = c(ni, hi),
decimals = 0
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = extraccion == "TOTAL"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 2")
)
tabla_extraccion_gt
| Tabla Nº2 | ||
| Distribución ordinal del método de extracción | ||
| Método de Extracción | Frecuencia | Porcentaje (%) |
|---|---|---|
| Cielo Abierto | 1,080 | 54 |
| Subterráneo | 720 | 36 |
| Mixto | 100 | 5 |
| Otros | 100 | 5 |
| TOTAL | 2,000 | 100 |
| Autor: Grupo 2 | ||
# Gráfica Nº1: Frecuencia absoluta
barplot(TDF_extraccion$ni,
main = "Gráfica Nº1: Frecuencia del Método de Extracción",
xlab = "Método de Extracción",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_extraccion$extraccion,
cex.names = 0.8,
las = 1)
# Gráfica Nº2: Frecuencia absoluta ajustada
barplot(TDF_extraccion$ni,
main = "Gráfica Nº2: Frecuencia del Método de Extracción (Escala Ajustada)",
xlab = "Método de Extracción",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_extraccion$extraccion,
cex.names = 0.8,
las = 1,
ylim = c(0, max(TDF_extraccion$ni) * 1.2))
# Gráfica Nº3: Frecuencia relativa
barplot(TDF_extraccion$hi,
main = "Gráfica Nº3: Porcentaje del Método de Extracción",
xlab = "Método de Extracción",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_extraccion$extraccion,
cex.names = 0.8,
las = 1)
# Gráfica Nº4: Frecuencia relativa escala completa
barplot(TDF_extraccion$hi,
main = "Gráfica Nº4: Porcentaje del Método de Extracción (Escala Completa)",
xlab = "Método de Extracción",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_extraccion$extraccion,
cex.names = 0.8,
las = 1,
ylim = c(0, 100))
# Gráfico circular
par(mar = c(4, 4, 4, 8))
colores <- rainbow(length(TDF_extraccion$hi))
pie(TDF_extraccion$hi,
col = colores,
main = "Distribución del Método de Extracción",
labels = NA)
legend("right",
legend = paste(TDF_extraccion$extraccion, TDF_extraccion$hi, "%"),
fill = colores,
title = "MÉTODOS",
bty = "o",
xpd = TRUE,
inset = c(-0.25, 0))
# Moda
moda_extraccion <- TDF_extraccion[TDF_extraccion$ni == max(TDF_extraccion$ni), ]
moda_extraccion
## extraccion ni hi
## 1 Cielo Abierto 1080 54
# Mediana
TDF_extraccion <- TDF_extraccion %>%
mutate(Ni = cumsum(ni))
N <- sum(TDF_extraccion$ni)
mediana_extraccion <- TDF_extraccion %>%
filter(Ni >= N/2) %>%
slice(1)
mediana_extraccion
## extraccion ni hi Ni
## 1 Cielo Abierto 1080 54 1080