library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(stringr)
library(gt)

datos <- read.csv("D:/dataset_CMIO_geologico.csv")
df_deposito <- data.frame(deposito = toupper(trimws(datos$Deposit_Type)))
df_deposito$deposito <- case_when(
  toupper(df_deposito$deposito) == "SEDIMENT-HOSTED" ~ "Sediment-hosted",
  toupper(df_deposito$deposito) == "SKARN" ~ "Skarn",
  toupper(df_deposito$deposito) == "VMS" ~ "VMS",
  toupper(df_deposito$deposito) == "PORPHYRY" ~ "Porphyry",
  toupper(df_deposito$deposito) == "EPITHERMAL" ~ "Epithermal",
  TRUE ~ NA_character_
)

orden_deposit <- c(
  "Sediment-hosted",
  "Skarn",
  "VMS",
  "Porphyry",
  "Epithermal"
)

df_deposito$deposito <- factor(
  df_deposito$deposito,
  levels = orden_deposit,
  ordered = TRUE
)
TDF_deposito <- df_deposito %>%
  count(deposito, name = "ni") %>%
  arrange(deposito) %>%
  mutate(hi = round(ni / sum(ni) * 100, 0))
tabla_deposito <- TDF_deposito %>%
  gt() %>%
  tab_header(
    title = "Tabla N° X",
    subtitle = "Distribución del Tipo de Depósito"
  )

tabla_deposito
Tabla N° X
Distribución del Tipo de Depósito
deposito ni hi
Sediment-hosted 475 19
Skarn 521 21
VMS 474 19
Porphyry 533 21
Epithermal 497 20
# Gráfica Nº1: Frecuencia absoluta
barplot(TDF_deposito$ni,
        main = "Gráfica Nº1: Frecuencia del Tipo de Depósito",
        xlab = "Tipo de Depósito",
        ylab = "Cantidad (ni)",
        col = "steelblue",
        names.arg = TDF_deposito$deposito,
        cex.names = 0.8,
        las = 1)

# Gráfica Nº2: Frecuencia absoluta ajustada
barplot(TDF_deposito$ni,
        main = "Gráfica Nº2: Frecuencia del Tipo de Depósito (Escala Ajustada)",
        xlab = "Tipo de Depósito",
        ylab = "Cantidad (ni)",
        col = "steelblue",
        names.arg = TDF_deposito$deposito,
        cex.names = 0.8,
        las = 1,
        ylim = c(0, max(TDF_deposito$ni) * 1.2))

# Gráfica Nº3: Frecuencia relativa
barplot(TDF_deposito$hi,
        main = "Gráfica Nº3: Porcentaje del Tipo de Depósito",
        xlab = "Tipo de Depósito",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        names.arg = TDF_deposito$deposito,
        cex.names = 0.8,
        las = 1)

# Gráfica Nº4: Frecuencia relativa escala completa
barplot(TDF_deposito$hi,
        main = "Gráfica Nº4: Porcentaje del Tipo de Depósito (Escala Completa)",
        xlab = "Tipo de Depósito",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        names.arg = TDF_deposito$deposito,
        cex.names = 0.8,
        las = 1,
        ylim = c(0, 100))

# Gráfico circular
par(mar = c(4, 4, 4, 8))

colores <- rainbow(length(TDF_deposito$hi))

pie(TDF_deposito$hi,
    col = colores,
    main = "Distribución del Tipo de Depósito",
    labels = NA)

legend("right",
       legend = paste(TDF_deposito$deposito, TDF_deposito$hi, "%"),
       fill = colores,
       title = "DEPÓSITOS",
       bty = "o",
       xpd = TRUE,
       inset = c(-0.25, 0))

# Moda
moda_deposito <- TDF_deposito[TDF_deposito$ni == max(TDF_deposito$ni), ]
moda_deposito
##   deposito  ni hi
## 4 Porphyry 533 21
# Mediana
TDF_deposito <- TDF_deposito %>%
  mutate(Ni = cumsum(ni))

N <- sum(TDF_deposito$ni)

mediana_deposito <- TDF_deposito %>%
  filter(Ni >= N/2) %>%
  slice(1)

mediana_deposito
##   deposito  ni hi   Ni
## 1      VMS 474 19 1470
#conclucion