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(gt)

datos <- read.csv("D:/dataset_CMIO_geologico.csv")
df_ley <- data.frame(
  nivel_ley = trimws(toupper(datos$Ley_Categoria))
)
orden_ley <- c("BAJA", "MEDIA", "ALTA", "MUY ALTA")

df_ley$nivel_ley <- factor(
  df_ley$nivel_ley,
  levels = orden_ley,
  ordered = TRUE
)
TDF_ley <- df_ley %>%
  count(nivel_ley, name = "ni") %>%
  arrange(nivel_ley) %>%
  mutate(hi = round(ni / sum(ni) * 100, 0))
tabla_ley <- TDF_ley %>%
  gt() %>%
  tab_header(
    title = "Tabla N° X",
    subtitle = "Distribución de la Ley Mineral (Variable Ordinal)"
  )

tabla_ley
Tabla N° X
Distribución de la Ley Mineral (Variable Ordinal)
nivel_ley ni hi
BAJA 1024 41
MEDIA 975 39
ALTA 501 20
barplot(TDF_ley$ni,
        main = "Gráfica Nº1: Frecuencia de la Ley Mineral",
        xlab = "Nivel de Ley",
        ylab = "Cantidad (ni)",
        col = "steelblue",
        names.arg = TDF_ley$nivel_ley,
        cex.names = 0.7,
        las = 2)

barplot(TDF_ley$ni,
        main = "Gráfica Nº2: Frecuencia de la Ley Mineral (Escala Ajustada)",
        xlab = "Nivel de Ley",
        ylab = "Cantidad (ni)",
        col = "steelblue",
        names.arg = TDF_ley$nivel_ley,
        cex.names = 0.7,
        las = 2,
        ylim = c(0, max(TDF_ley$ni)*1.2))

barplot(TDF_ley$hi,
        main = "Gráfica Nº3: Porcentaje de la Ley Mineral",
        xlab = "Nivel de Ley",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        names.arg = TDF_ley$nivel_ley,
        cex.names = 0.7,
        las = 2)

barplot(TDF_ley$hi,
        main = "Gráfica Nº4: Porcentaje del Nivel de Ley (Escala Completa)",
        xlab = "Nivel de Ley",
        ylab = "Porcentaje (%)",
        col = "steelblue",
        names.arg = TDF_ley$nivel_ley,
        cex.names = 0.7,
        las = 2,
        ylim = c(0, 100))

par(mar = c(4,4,4,8))

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

pie(TDF_ley$hi,
    col = colores,
    main = "Distribución de la Ley Mineral",
    labels = NA)

legend("right",
       legend = paste(TDF_ley$nivel_ley, TDF_ley$hi, "%"),
       fill = colores,
       title = "NIVELES",
       bty = "o",
       xpd = TRUE,
       inset = c(-0.15,0))

moda_ley <- TDF_ley[TDF_ley$ni == max(TDF_ley$ni), ]
moda_ley
##   nivel_ley   ni hi
## 1      BAJA 1024 41
TDF_ley <- TDF_ley %>%
  mutate(Ni = cumsum(ni))

N <- sum(TDF_ley$ni)

mediana_ley <- TDF_ley %>%
  filter(Ni >= N/2) %>%
  slice(1)

mediana_ley
##   nivel_ley  ni hi   Ni
## 1     MEDIA 975 39 1999
#conclucion