CARGA DE DATOS
library(dplyr)
library(stringr)
library(gt)
datos <- read.csv("D:/entorno_del_deposito_2500_registros.csv")
ASIGNACION DE VARIABLES
## ASIGNACION DE VARIABLES
# 1. Identificar la columna
col_datos <- if ("ENTORNO_DEL_DEPOSITO" %in% names(datos)) {
datos$ENTORNO_DEL_DEPOSITO
} else if ("ENTORNO" %in% names(datos)) {
datos$ENTORNO
} else {
datos[[1]]
}
# 2. Limpieza de texto y remoción explícita de tildes/acentos
entorno_limpio <- trimws(as.character(col_datos))
# Quitar tildes para uniformizar (Magmático -> Magmatico, Metamórfico -> Metamorfico)
entorno_limpio <- chartr("ÁÉÍÓÚáéíóú", "AEIOUAEIOUaeiou", entorno_limpio)
entorno_limpio <- str_to_title(entorno_limpio)
df_entorno <- data.frame(
entorno = entorno_limpio
)
# 3. Categorías objetivo
orden_entorno <- c(
"Magmatico",
"Sedimentario",
"Metamorfico",
"Hidrotermal",
"Epitermal"
)
# 4. Factor ordinal
df_entorno$entorno <- factor(
df_entorno$entorno,
levels = orden_entorno,
ordered = TRUE
)
# Verificación en consola de R (opcional)
table(df_entorno$entorno, useNA = "always")
##
## Magmatico Sedimentario Metamorfico Hidrotermal Epitermal <NA>
## 575 450 150 975 350 0
TABLA DE DISTRIBUCION DE CANTIDAD
# 1. Conteo de frecuencias simples
TDF_entorno <- df_entorno %>%
count(entorno, name = "ni", .drop = FALSE) %>%
arrange(entorno)
# 2. Calculamos los porcentajes redondeados
TDF_entorno <- TDF_entorno %>%
mutate(hi = round(ni / sum(ni) * 100, 0))
# 3. Ajuste por redondeo al 100%
diferencia <- 100 - sum(TDF_entorno$hi)
if (diferencia != 0 && sum(TDF_entorno$ni) > 0) {
pos_max <- which.max(TDF_entorno$ni)
TDF_entorno$hi[pos_max] <- TDF_entorno$hi[pos_max] + diferencia
}
# 4. Agregamos fila TOTAL para la presentación
tabla_final_entorno <- TDF_entorno %>%
mutate(entorno = as.character(entorno))
tabla_final_entorno <- bind_rows(
tabla_final_entorno,
data.frame(
entorno = "TOTAL",
ni = sum(tabla_final_entorno$ni),
hi = sum(tabla_final_entorno$hi)
)
)
# 5. Generación de tabla con gt
tabla_entorno_gt <- tabla_final_entorno %>%
gt() %>%
tab_header(
title = md("**Tabla Nº1**"),
subtitle = md("Distribución del entorno del depósito")
) %>%
cols_label(
entorno = "Entorno del Depósito",
ni = "Frecuencia (ni)",
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 = entorno == "TOTAL"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 2")
)
tabla_entorno_gt
| Tabla Nº1 | ||
| Distribución del entorno del depósito | ||
| Entorno del Depósito | Frecuencia (ni) | Porcentaje (%) |
|---|---|---|
| Magmatico | 575 | 23 |
| Sedimentario | 450 | 18 |
| Metamorfico | 150 | 6 |
| Hidrotermal | 975 | 39 |
| Epitermal | 350 | 14 |
| TOTAL | 2,500 | 100 |
| Autor: Grupo 2 | ||
# Margen inferior para que las etiquetas de las columnas quepan limpiamente
par(mar = c(7, 4, 4, 2) + 0.1)
# Límite superior dinámico
max_ni <- max(TDF_entorno$ni, na.rm = TRUE)
ylim_max <- if (is.finite(max_ni) && max_ni > 0) max_ni * 1.2 else 10
# Gráfica Nº1: Frecuencia absoluta
barplot(TDF_entorno$ni,
main = "Gráfica Nº1: Distribución por entorno del depósito\nen depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_entorno$entorno,
cex.names = 0.8,
las = 2)
# Gráfica Nº2: Frecuencia absoluta ajustada
barplot(TDF_entorno$ni,
main = "Gráfica Nº2: Distribución por entorno del depósito\nen depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Cantidad (ni)",
col = "steelblue",
names.arg = TDF_entorno$entorno,
cex.names = 0.8,
las = 2,
ylim = c(0, ylim_max))
# Gráfica Nº3: Frecuencia relativa
barplot(TDF_entorno$hi,
main = "Gráfica Nº3: Distribución porcentual por entorno del depósito\nen depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_entorno$entorno,
cex.names = 0.8,
las = 2)
# Gráfica Nº4: Frecuencia relativa escala completa
barplot(TDF_entorno$hi,
main = "Gráfica Nº4: Distribución porcentual por entorno del depósito\nen depósitos minerales de Estados Unidos",
xlab = "",
ylab = "Porcentaje (%)",
col = "steelblue",
names.arg = TDF_entorno$entorno,
cex.names = 0.8,
las = 2,
ylim = c(0, 100))
# Gráfico circular
par(mar = c(4, 4, 4, 10))
colores <- rainbow(length(TDF_entorno$hi))
pie(TDF_entorno$hi,
col = colores,
main = "Gráfica Nº5: Distribución porcentual por entorno del depósito\nen depósitos minerales de Estados Unidos",
labels = NA)
legend("right",
legend = paste(TDF_entorno$entorno,
TDF_entorno$hi, "%"),
fill = colores,
title = "ENTORNOS",
bty = "o",
xpd = TRUE,
inset = c(-0.35, 0))
# Moda
moda_entorno <- TDF_entorno[
TDF_entorno$ni == max(TDF_entorno$ni, na.rm = TRUE), ]
moda_entorno
## entorno ni hi
## 4 Hidrotermal 975 39
# Mediana
TDF_entorno_med <- TDF_entorno %>%
mutate(Ni = cumsum(ni))
N <- sum(TDF_entorno_med$ni)
mediana_entorno <- TDF_entorno_med %>%
filter(Ni >= N/2) %>%
slice(1)
mediana_entorno
## entorno ni hi Ni
## 1 Hidrotermal 975 39 2150
La variable Entorno del Depósito presenta como valor más frecuente al ambiente Hidrotermal, representando el 39% del total de la muestra analizada. Este resultado es altamente relevante para la exploración geológica, ya que los depósitos de origen hidrotermal están estrechamente vinculados a mineralizaciones de gran valor económico.