Variable Original: NAICSDESCR

Nombre Variable: DESC_NAICS

Tipo: Cualitativa Nominal


0.- Carga de librerías

library(dplyr)
library(gt)
library(knitr)

1.- Carga de datos

datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
                   sep = ";", stringsAsFactors = FALSE)

2.- Selección de la variable

Se selecciona la variable NAICSDESCR, que describe la actividad económica específica de cada instalación minera. Presenta 45 categorías distintas, pero a diferencia de otras variables (como CITY), aquí las 10 categorías más frecuentes concentran el 86.5% de los registros, por lo que se agrupan en Top 10 + “Otras Actividades” para mantener la tabla con máximo 11 filas (recomendación académica).

DESC_NAICS <- trimws(as.character(datos$NAICSDESCR))
DESC_NAICS <- DESC_NAICS[!is.na(DESC_NAICS) & DESC_NAICS != ""]
n <- length(DESC_NAICS)

frecuencias <- sort(table(DESC_NAICS), decreasing = TRUE)
top_actividades <- names(frecuencias)[1:10]

DESC_NAICS_agrupada <- ifelse(DESC_NAICS %in% top_actividades, DESC_NAICS, "Otras Actividades")

3.- Frecuencia

TDF_Naics <- as.data.frame(table(DESC_NAICS_agrupada))
colnames(TDF_Naics) <- c("Actividad", "ni")

ni <- TDF_Naics$ni
hi <- round(ni / sum(ni) * 100, 2)

# Ajuste matemático para forzar que la suma de 'hi' sea exactamente 100
diferencia <- 100 - sum(hi)
if (diferencia != 0) {
  pos_max <- which.max(ni)
  hi[pos_max] <- hi[pos_max] + diferencia
}

TDF_Naics <- data.frame(Actividad = TDF_Naics$Actividad, ni, hi) %>%
  arrange(desc(ni))

# Se asegura que "Otras Actividades" quede al final de la tabla
TDF_Naics <- TDF_Naics %>%
  arrange(Actividad == "Otras Actividades", desc(ni))

# Fila de resumen (TOTAL)
Summary <- data.frame(Actividad = "TOTAL", ni = sum(TDF_Naics$ni), hi = sum(TDF_Naics$hi))
TDF_Naics_suma <- rbind(TDF_Naics, Summary)

colnames(TDF_Naics_suma) <- c("Actividad", "ni", "hi(%)")

4.- Tabla de distribución de frecuencias

TDF_Naics_suma %>%
  gt() %>%
  tab_header(
    title    = md("Tabla Nro. 1"),
    subtitle = md("Distribución de frecuencias de la variable Descripción NAICS (NAICSDESCR) para el análisis de la actividad minera y emisión de gases en Estados Unidos.")
  ) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(rows = Actividad == "TOTAL")
  ) %>%
  tab_source_note(source_note = md("Autor: Luis Cruz"))
Tabla Nro. 1
Distribución de frecuencias de la variable Descripción NAICS (NAICSDESCR) para el análisis de la actividad minera y emisión de gases en Estados Unidos.
Actividad ni hi(%)
BITUMINOUS COAL SURFACE MINING AND/OR BENEFICIATING 885 29.54
BITUMINOUS COAL UNDERGROUND MINING OR MINING AND BENEFICIATING 738 24.63
DIMENSION STONE MINING OR QUARRYING 249 8.31
COMMON CLAY MINING AND/OR BENEFICIATING 162 5.41
SANDSTONE MINING OR QUARRYING 132 4.41
LIMESTONE MINING OR QUARRYING 120 4.01
ANTHRACITE MINING AND/OR BENEFICIATING 98 3.27
GOLD ORE MINING AND/OR BENEFICIATING PLANTS 90 3.00
SLATE MINING OR QUARRYING 61 2.04
GRANITE MINING OR QUARRYING 57 1.90
Otras Actividades 404 13.48
TOTAL 2996 100.00
Autor: Luis Cruz

5.- Gráficos de distribución de frecuencia

5.1- Diagrama de cantidad

par(mar = c(16, 5, 4, 2))
barplot(TDF_Naics$ni,
        names.arg = TDF_Naics$Actividad,
        main = "Gráfica Nro. 1\nDistribución de cantidad por actividad minera\nen instalaciones de Estados Unidos",
        xlab = "", ylab = "Cantidad (ni)",
        col = "#2E75B6",
        las = 2, cex.names = 0.7)

5.2- Diagramas procentuales

par(mar = c(16, 5, 4, 2))
barplot(TDF_Naics$hi,
        names.arg = TDF_Naics$Actividad,
        main = "Gráfica Nro. 2\nDistribución de cantidad en porcentaje\npor actividad minera en instalaciones de Estados Unidos",
        xlab = "", ylab = "Porcentaje (%)",
        col = "#AEC6E8",
        las = 2, cex.names = 0.7,
        ylim = c(0, 100))

5.3- Diagrama circular

colores <- c("#1f78b4","#33a02c","#e31a1c","#ff7f00",
             "#6a3d9a","#b15928","#a6cee3","#b2df8a",
             "#fb9a99","#fdbf6f","#cab2d6")

layout(matrix(1:2, nrow = 1), widths = c(1, 1.8))

par(mar = c(2, 2, 4, 1))
pie(TDF_Naics$hi,
    labels = NA,
    col = colores[1:nrow(TDF_Naics)],
    radius = 0.9,
    main = "Gráfica Nro. 3\nDistribución de cantidad en porcentaje\npor actividad minera")

par(mar = c(2, 1, 4, 1))
plot.new()
legend("left",
       legend = paste0(TDF_Naics$Actividad, " (", TDF_Naics$hi, "%)"),
       fill = colores[1:nrow(TDF_Naics)],
       title = "ACTIVIDAD (NAICS)",
       bty = "n", cex = 0.95)

6.- Indicadores estadísticos

# Cálculo de la moda (Mo): la actividad con mayor frecuencia (ni),
# excluyendo la categoría "Otras Actividades"
TDF_sin_otras <- TDF_Naics[TDF_Naics$Actividad != "Otras Actividades", ]
Moda_row <- TDF_sin_otras[which.max(TDF_sin_otras$ni), ]
Mo <- as.character(Moda_row$Actividad[1])

tabla_indicadores <- data.frame(
  "Variable" = "Descripción NAICS (NAICSDESCR)",
  "Rango" = "-",
  "X" = "-",
  "Me" = "-",
  "Mo" = Mo,
  "V" = "-",
  "Sd" = "-",
  "Cv" = "-",
  "As" = "-",
  "K" = "-",
  "Valores Atípicos" = "-"
)

kable(tabla_indicadores, align = 'c',
      caption = "Indicadores estadísticos de la variable Descripción NAICS (NAICSDESCR)")
Indicadores estadísticos de la variable Descripción NAICS (NAICSDESCR)
Variable Rango X Me Mo V Sd Cv As K Valores.Atípicos
Descripción NAICS (NAICSDESCR) - - - BITUMINOUS COAL SURFACE MINING AND/OR BENEFICIATING - - - - - -

7.- Conclusiones

En conclusión:

La variable descripción NAICS presenta 45 categorías, pero a diferencia de otras variables con alta dispersión, aquí las 10 actividades más frecuentes concentran el 86.5% de los registros, por lo que la variable fue agrupada en Top 10 + “Otras Actividades” sin perder representatividad. La actividad más frecuente en las instalaciones mineras es BITUMINOUS COAL SURFACE MINING AND/OR BENEFICIATING, con 885 instalaciones (29.54% del total), lo que confirma que la minería de carbón bituminoso (superficial y subterránea) es la actividad predominante en el dataset.