CARGA DE DATOS
library(dplyr)
library(stringr)
library(gt)
datos <- read.csv("D:/grupo_elementos_asociados_2500_registros.csv")
ASIGNACION DE VARIABLES
## ASIGNACION DE VARIABLES
# Limpieza básica
df_elementos <- data.frame(
grupo_elementos = trimws(datos$GRUPO_ELEMENTOS_ASOCIADOS)
)
# Orden de categorías según la variable provista
orden_elementos <- c(
"Au-As-Sb-Hg",
"Au-Ag",
"Cu-Mo",
"Cu-Au-Mo",
"Pb-Zn-Ag",
"Zn-Pb-Cd",
"Cu-Zn-Au-Ag",
"Ni-Cu-Co",
"Cr-Ni-PGE",
"W-Sn-Mo",
"U-V",
"REE-Nb-Ta"
)
# Factor ordinal / categórico según orden predefinido
df_elementos$grupo_elementos <- factor(
df_elementos$grupo_elementos,
levels = orden_elementos,
ordered = TRUE
)
TABLA DE DISTRIBUCION DE CANTIDAD
TDF_elementos <- df_elementos %>%
count(grupo_elementos, name = "ni") %>%
arrange(grupo_elementos)
# Calculamos los porcentajes redondeados
TDF_elementos <- TDF_elementos %>%
mutate(hi = round(ni / sum(ni) * 100, 0))
# Ajuste por redondeo:
# La diferencia se le asigna a la categoría con mayor frecuencia
diferencia <- 100 - sum(TDF_elementos$hi)
if (diferencia != 0) {
pos_max <- which.max(TDF_elementos$ni)
TDF_elementos$hi[pos_max] <- TDF_elementos$hi[pos_max] + diferencia
}
# Tabla Básica GT
tabla_elementos <- TDF_elementos %>%
gt() %>%
tab_header(
title = "Tabla N° 1",
subtitle = "Distribución del Grupo de Elementos Asociados"
) %>%
grand_summary_rows(
columns = c(ni, hi),
fns = list(
Total = ~sum(., na.rm = TRUE)
),
fmt = list(
~fmt_number(., decimals = 0)
)
)
tabla_elementos
| Tabla N° 1 | |||
| Distribución del Grupo de Elementos Asociados | |||
| grupo_elementos | ni | hi | |
|---|---|---|---|
| Au-As-Sb-Hg | 450 | 18 | |
| Au-Ag | 375 | 15 | |
| Cu-Mo | 325 | 13 | |
| Cu-Au-Mo | 250 | 10 | |
| Pb-Zn-Ag | 250 | 10 | |
| Zn-Pb-Cd | 225 | 9 | |
| Cu-Zn-Au-Ag | 175 | 7 | |
| Ni-Cu-Co | 125 | 5 | |
| Cr-Ni-PGE | 75 | 3 | |
| W-Sn-Mo | 100 | 4 | |
| U-V | 100 | 4 | |
| REE-Nb-Ta | 50 | 2 | |
| Total | — | 2,500 | 100 |
# Agregamos fila TOTAL para la tabla esqueleto
tabla_final_elementos <- TDF_elementos %>%
mutate(
grupo_elementos = as.character(grupo_elementos)
)
tabla_final_elementos <- bind_rows(
tabla_final_elementos,
data.frame(
grupo_elementos = "TOTAL",
ni = sum(tabla_final_elementos$ni),
hi = sum(tabla_final_elementos$hi)
)
)
# TABLA ESQUELETO FINAL
tabla_elementos_gt <- tabla_final_elementos %>%
gt() %>%
tab_header(
title = md("**Tabla Nº2**"),
subtitle = md("Distribución de grupos de elementos asociados")
) %>%
cols_label(
grupo_elementos = "Grupo de Elementos",
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 = grupo_elementos == "TOTAL"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 2")
)
tabla_elementos_gt
| Tabla Nº2 | ||
| Distribución de grupos de elementos asociados | ||
| Grupo de Elementos | Frecuencia | Porcentaje (%) |
|---|---|---|
| Au-As-Sb-Hg | 450 | 18 |
| Au-Ag | 375 | 15 |
| Cu-Mo | 325 | 13 |
| Cu-Au-Mo | 250 | 10 |
| Pb-Zn-Ag | 250 | 10 |
| Zn-Pb-Cd | 225 | 9 |
| Cu-Zn-Au-Ag | 175 | 7 |
| Ni-Cu-Co | 125 | 5 |
| Cr-Ni-PGE | 75 | 3 |
| W-Sn-Mo | 100 | 4 |
| U-V | 100 | 4 |
| REE-Nb-Ta | 50 | 2 |
| TOTAL | 2,500 | 100 |
| Autor: Grupo 2 | ||
# Ajuste de márgenes para etiquetas largas en eje X
par(mar = c(8, 4, 4, 2))
# Gráfica Nº1: Frecuencia absoluta
barplot(TDF_elementos$ni,
main = "Gráfica Nº1: Distribución de cantidad de elementos asociados\nen depósitos minerales",
xlab = "",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_elementos$grupo_elementos,
cex.names = 0.7,
las = 2)
# Gráfica Nº2: Frecuencia absoluta ajustada
barplot(TDF_elementos$ni,
main = "Gráfica Nº2: Distribución de cantidad de elementos asociados\nen depósitos minerales",
xlab = "",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_elementos$grupo_elementos,
cex.names = 0.7,
las = 2,
ylim = c(0, max(TDF_elementos$ni) * 1.2))
# Gráfica Nº3: Frecuencia relativa
barplot(TDF_elementos$hi,
main = "Gráfica Nº3: Distribución en porcentaje de elementos asociados\nen depósitos minerales",
xlab = "",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_elementos$grupo_elementos,
cex.names = 0.7,
las = 2)
# Gráfica Nº4: Frecuencia relativa escala completa
barplot(TDF_elementos$hi,
main = "Gráfica Nº4: Distribución en porcentaje de elementos asociados\nen depósitos minerales",
xlab = "",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_elementos$grupo_elementos,
cex.names = 0.7,
las = 2,
ylim = c(0, 100))
# Gráfico circular
par(mar = c(4, 4, 4, 10))
colores <- rainbow(length(TDF_elementos$hi))
pie(TDF_elementos$hi,
col = colores,
main = "Gráfica Nº5: Distribución en porcentaje de elementos asociados\nen depósitos minerales",
labels = NA)
legend("right",
legend = paste(TDF_elementos$grupo_elementos, "-", TDF_elementos$hi, "%"),
fill = colores,
title = "ELEMENTOS",
bty = "o",
xpd = TRUE,
inset = c(-0.4, 0),
cex = 0.7)
# Moda
moda_elementos <- TDF_elementos[
TDF_elementos$ni == max(TDF_elementos$ni), ]
moda_elementos
## grupo_elementos ni hi
## 1 Au-As-Sb-Hg 450 18
# Mediana
TDF_elementos <- TDF_elementos %>%
mutate(Ni = cumsum(ni))
N <- sum(TDF_elementos$ni)
mediana_elementos <- TDF_elementos %>%
filter(Ni >= N/2) %>%
slice(1)
mediana_elementos
## grupo_elementos ni hi Ni
## 1 Cu-Au-Mo 250 10 1400
El análisis estadístico revela que el grupo de elementos asociados más frecuente es Au-As-Sb-Hg, representando el 18% del total de depósitos evaluados.
Desde la perspectiva de exploración minera, este resultado indica que la zona presenta un elevado potencial para la prospección de metales preciosos utilizando el As, Sb y Hg como elementos guía .