CARGA DE DATOS
library(dplyr)
library(stringr)
library(gt)
library(readxl)
datos <- read.csv("D:/ALTERACIONES EXTRAIDAS.csv")
ASIGNACION DE VARIABLES
df_material <- data.frame(material = toupper(trimws(datos$CALIFICADOR_MATERIAL)))
df_material$material <- case_when(
# --- SANO ---
df_material$material %in% c("SIN ALTERACIÓN") ~ "Sano",
# --- DÉBILMENTE ALTERADO ---
df_material$material %in% c("ALTERACIÓN LEVE", "SILICIFICACIÓN DÉBIL",
"CLORITIZACIÓN LEVE", "PROPILITIZACIÓN LEVE") ~ "Débilmente alterado",
# --- MODERADAMENTE ALTERADO ---
df_material$material %in% c("ALTERACIÓN HIDROTERMAL", "ARGILIZACIÓN MODERADA",
"OXIDACIÓN MODERADA", "SILICIFICACIÓN", "ARGILIZACIÓN",
"SERICITIZACIÓN", "CLORITIZACIÓN", "CARBONATIZACIÓN",
"OXIDACIÓN", "PIRITIZACIÓN", "EPIDOTIZACIÓN", "CAOLINIZACIÓN",
"ALBITIZACIÓN", "PROPILITIZACIÓN", "HEMATITITIZACIÓN",
"LIMONITITIZACIÓN", "DOLOMITIZACIÓN") ~ "Moderadamente alterado",
# --- ALTAMENTE ALTERADO ---
df_material$material %in% c("SERICITIZACIÓN INTENSA", "SILICIFICACIÓN INTENSA",
"SKARNIFICACIÓN") ~ "Altamente alterado",
# --- OTROS (Cualquier categoría no mapeada o celda vacía) ---
TRUE ~ "Otros"
)
# Definición de orden incluyendo "Otros" al final
orden_material <- c(
"Sano",
"Débilmente alterado",
"Moderadamente alterado",
"Altamente alterado",
"Otros"
)
df_material$material <- factor(
df_material$material,
levels = orden_material,
ordered = TRUE
)
TABLA DE DISTRIBUCION DE CANTIDAD
TDF_material <- df_material %>%
count(material, name = "ni") %>%
arrange(material)
# Cálculo inicial de porcentajes
TDF_material <- TDF_material %>%
mutate(hi = round(ni / sum(ni) * 100, 0))
# Ajuste matemático automático por redondeo para asegurar el 100%
diferencia <- 100 - sum(TDF_material$hi, na.rm = TRUE)
if (diferencia != 0 & nrow(TDF_material) > 0) {
pos_max <- which.max(TDF_material$ni)
TDF_material$hi[pos_max] <- TDF_material$hi[pos_max] + diferencia
}
tabla_material <- TDF_material %>%
gt() %>%
tab_header(
title = "Tabla N° 1",
subtitle = "Distribución del Calificador del Material"
) %>%
grand_summary_rows(
columns = c(ni, hi),
fns = list(Total = ~sum(., na.rm = TRUE)),
fmt = list(~fmt_number(., decimals = 0))
)
tabla_material
| Tabla N° 1 | |||
| Distribución del Calificador del Material | |||
| material | ni | hi | |
|---|---|---|---|
| Sano | 347 | 14 | |
| Débilmente alterado | 511 | 20 | |
| Moderadamente alterado | 1415 | 57 | |
| Altamente alterado | 90 | 4 | |
| Otros | 137 | 5 | |
| Total | — | 2,500 | 100 |
# Agregamos fila TOTAL
tabla_final_material <- TDF_material %>%
mutate(
material = as.character(material)
)
tabla_final_material <- bind_rows(
tabla_final_material,
data.frame(
material = "TOTAL",
ni = sum(tabla_final_material$ni),
hi = sum(tabla_final_material$hi)
)
)
# TABLA ESQUELETO
tabla_material_gt <- tabla_final_material %>%
gt() %>%
tab_header(
title = md("**Tabla Nº2**"),
subtitle = md("Distribución ordinal de la alteración del material")
) %>%
cols_label(
material = "Nivel de Alteració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 = material == "TOTAL"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 2")
)
tabla_material_gt
| Tabla Nº2 | ||
| Distribución ordinal de la alteración del material | ||
| Nivel de Alteración | Frecuencia | Porcentaje (%) |
|---|---|---|
| Sano | 347 | 14 |
| Débilmente alterado | 511 | 20 |
| Moderadamente alterado | 1,415 | 57 |
| Altamente alterado | 90 | 4 |
| Otros | 137 | 5 |
| TOTAL | 2,500 | 100 |
| Autor: Grupo 2 | ||
# Se añade margen inferior extra para que los textos verticales no se corten
par(mar = c(8, 4, 4, 2))
# Gráfica Nº1: Frecuencia absoluta
barplot(TDF_material$ni,
main = "Gráfica Nº1: Distribución de cantidad de las alteraciones
en depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_material$material,
cex.names = 0.75,
las = 2) # las = 2 vuelve el texto vertical respecto al eje
# Se añade margen inferior extra
par(mar = c(8, 4, 4, 2))
# Gráfica Nº2: Frecuencia absoluta ajustada
barplot(TDF_material$ni,
main = "Gráfica Nº2: Distribución de cantidad de las alteraciones
en depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_material$material,
cex.names = 0.75,
las = 2,
ylim = c(0, max(TDF_material$ni) * 1.2))
# Se añade margen inferior extra
par(mar = c(8, 4, 4, 2))
# Gráfica Nº3: Frecuencia relativa
barplot(TDF_material$hi,
main = "Gráfica Nº3: Distribución de cantidad en porcentaje de las
alteraciones en depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_material$material,
cex.names = 0.75,
las = 2)
# Se añade margen inferior extra
par(mar = c(8, 4, 4, 2))
# Gráfica Nº4: Frecuencia relativa escala completa
barplot(TDF_material$hi,
main = "Gráfica Nº4: Distribución de cantidad en porcentaje de las
alteraciones en depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_material$material,
cex.names = 0.75,
las = 2,
ylim = c(0, 100))
# Gráfico circular (Mantiene sus márgenes laterales para la leyenda)
par(mar = c(4, 4, 4, 10))
colores <- rainbow(length(TDF_material$hi))
pie(TDF_material$hi,
col = colores,
main = "Gráfica Nº5: Distribución de cantidad en porcentaje de las
alteraciones en depósitos minerales de Estados Unidos",
labels = NA)
legend("right",
legend = paste(TDF_material$material, TDF_material$hi, "%"),
fill = colores,
title = "ALTERACIONES",
bty = "o",
xpd = TRUE,
inset = c(-0.45, 0))
# Moda
moda_material <- TDF_material[TDF_material$ni == max(TDF_material$ni), ]
moda_material
## material ni hi
## 3 Moderadamente alterado 1415 57
# Mediana
TDF_material <- TDF_material %>%
mutate(Ni = cumsum(ni))
N <- sum(TDF_material$ni)
mediana_material <- TDF_material %>%
filter(Ni >= N/2) %>%
slice(1)
mediana_material
## material ni hi Ni
## 1 Moderadamente alterado 1415 57 2273
#conclucion
"La variable alteraciones presenta niveles que fluctúan entre baja y alta alteración, y sus valores se concentran en materiales moderadamente alterados. Esto resulta favorable para la evaluación minera, debido a que las alteraciones moderadas suelen estar asociadas a procesos hidrotermales vinculados con la formación de yacimientos minerales."
## [1] "La variable alteraciones presenta niveles que fluctúan entre baja y alta alteración, y sus valores se concentran en materiales moderadamente alterados. Esto resulta favorable para la evaluación minera, debido a que las alteraciones moderadas suelen estar asociadas a procesos hidrotermales vinculados con la formación de yacimientos minerales."