ANÁLISIS ESTADÍSTICO

CARGA DE DATOS Y LIBRERÍAS

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

## 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 DISTRIBUCIÓN DE CANTIDAD

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

GRÁFICAS DE DISTRIBUCIÓN DE CANTIDAD

# 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))

INDICADORES ESTADISTICOS

# 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

Conclusión

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.