Análisis de la variable SUBUNIT_NU

library(dplyr)
library(gt)
library(e1071)

Dataset <- read.csv(
  "C:/Users/User/Downloads/Dataset.csv",
  header = TRUE,
  sep = ";"
)

Carga de datos

datos <- Dataset

NUM_SUBUNIDAD <- as.numeric(datos$SUBUNIT_NU)
NUM_SUBUNIDAD <- NUM_SUBUNIDAD[!is.na(NUM_SUBUNIDAD)]
n <- length(NUM_SUBUNIDAD)

cat("Variable : SUBUNIT_NU\n")
## Variable : SUBUNIT_NU
cat("Nombre : NUM_SUBUNIDAD\n")
## Nombre : NUM_SUBUNIDAD
cat("n validos :", n, "\n")
## n validos : 2921
cat("Min :", min(NUM_SUBUNIDAD), "\n")
## Min : 0
cat("Max :", max(NUM_SUBUNIDAD), "\n")
## Max : 4

Tabla de frecuencias

TDF <- as.data.frame(table(NUM_SUBUNIDAD))

names(TDF) <- c("Valor", "fi")

TDF <- TDF %>%
  mutate(
    Valor = as.numeric(as.character(Valor)),
    fri = round(fi / n * 100, 2),
    Ni_asc = cumsum(fi),
    Ni_des = rev(cumsum(rev(fi))),
    Hi_asc = round(cumsum(fri), 2),
    Hi_des = round(rev(cumsum(rev(fri))), 2)
  )

TDF_total <- TDF %>%
  add_row(
    Valor = NA,
    fi = sum(TDF$fi),
    fri = round(sum(TDF$fri), 2),
    Ni_asc = max(TDF$Ni_asc),
    Ni_des = min(TDF$Ni_des),
    Hi_asc = max(TDF$Hi_asc),
    Hi_des = min(TDF$Hi_des)
  )

TDF_total
##   Valor   fi    fri Ni_asc Ni_des Hi_asc Hi_des
## 1     0  106   3.63    106   2921   3.63 100.00
## 2     1  802  27.46    908   2815  31.09  96.37
## 3     2 1134  38.82   2042   2013  69.91  68.91
## 4     3  749  25.64   2791    879  95.55  30.09
## 5     4  130   4.45   2921    130 100.00   4.45
## 6    NA 2921 100.00   2921    130 100.00   4.45

Tabla formateada

TDF_total %>%
  mutate(Valor = ifelse(is.na(Valor), "Total", as.character(Valor))) %>%
  gt() %>%
  tab_header(
    title = md("**Tabla 1**"),
    subtitle = md("Distribución de frecuencias — SUBUNIT_NU")
  )
Tabla 1
Distribución de frecuencias — SUBUNIT_NU
Valor fi fri Ni_asc Ni_des Hi_asc Hi_des
0 106 3.63 106 2921 3.63 100.00
1 802 27.46 908 2815 31.09 96.37
2 1134 38.82 2042 2013 69.91 68.91
3 749 25.64 2791 879 95.55 30.09
4 130 4.45 2921 130 100.00 4.45
Total 2921 100.00 2921 130 100.00 4.45

Gráfico de frecuencia absoluta

TDF_graf <- TDF_total %>% filter(!is.na(Valor))

barplot(
  TDF_graf$fi,
  names.arg = TDF_graf$Valor,
  col = "#4472C4",
  main = "Frecuencia Absoluta",
  xlab = "Número de subunidades",
  ylab = "Frecuencia absoluta"
)

Gráfico de frecuencia relativa

barplot(
  TDF_graf$fri,
  names.arg = TDF_graf$Valor,
  col = "#AEC6E8",
  main = "Frecuencia Relativa",
  xlab = "Número de subunidades",
  ylab = "Frecuencia relativa (%)"
)

Ojiva acumulada

plot(
  TDF_graf$Valor,
  TDF_graf$Hi_asc,
  type = "b",
  pch = 16,
  main = "Ojiva acumulada",
  xlab = "Número de subunidades",
  ylab = "Frecuencia acumulada (%)"
)

Diagrama de caja

boxplot(
  NUM_SUBUNIDAD,
  horizontal = TRUE,
  col = "#AEC6E8",
  main = "Diagrama de Caja"
)

Indicadores estadísticos

media   <- mean(NUM_SUBUNIDAD)
mediana <- median(NUM_SUBUNIDAD)
moda    <- as.numeric(names(sort(table(NUM_SUBUNIDAD), decreasing = TRUE)[1]))
desv    <- sd(NUM_SUBUNIDAD)
cv      <- desv / media * 100
asim    <- skewness(NUM_SUBUNIDAD)
kurt    <- kurtosis(NUM_SUBUNIDAD)

data.frame(
  Indicador = c("Media","Mediana","Moda","Desv. S","CV (%)","Asimetría","Curtosis"),
  Resultado = c(media, mediana, moda, desv, cv, asim, kurt)
)
##   Indicador   Resultado
## 1     Media  1.99828826
## 2   Mediana  2.00000000
## 3      Moda  2.00000000
## 4   Desv. S  0.92436417
## 5    CV (%) 46.25779936
## 6 Asimetría  0.06580309
## 7  Curtosis -0.50161202

Conclusión

La variable SUBUNIT_NU representa el número de subunidades operativas de cada instalación minera. La distribución observada muestra que la mayor parte de las minas posee entre 1 y 3 subunidades, siendo el valor más frecuente el correspondiente a la moda calculada. Esta variable constituye un indicador de la escala operativa de las instalaciones mineras y puede relacionarse con los niveles de emisiones de CO₂, NOx y CH₄ analizados en el proyecto.