Variable Original: CITY

Nombre Variable: CIUDAD

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 optó por presentar la tabla completa agrupando las 15 ciudades con mayor frecuencia más una categoría “Otras Ciudades” , pero los gráficos se construyen únicamente con las 15 ciudades de mayor concentración, ya que incluir “Otras Ciudades” no aporta información visual (siempre domina el gráfico sin mostrar nada relevante).

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

frecuencias <- sort(table(CIUDAD), decreasing = TRUE)

top_n <- 15
top_ciudades <- names(frecuencias)[1:top_n]

CIUDAD_agrupada <- ifelse(CIUDAD %in% top_ciudades, CIUDAD, "Otras Ciudades")

# Indicadores de dispersión geográfica (para la sección de conclusiones)
n_ciudades_unicas   <- length(frecuencias)
n_ciudades_1vez     <- sum(frecuencias == 1)
pct_ciudades_1vez   <- round(n_ciudades_1vez / n_ciudades_unicas * 100, 1)
pct_registros_1vez  <- round(n_ciudades_1vez / n * 100, 1)

3.- Frecuencia

# --- Tabla completa: Top 15 + "Otras Ciudades" ---
TDF_Ciudad <- as.data.frame(table(CIUDAD_agrupada))
colnames(TDF_Ciudad) <- c("Ciudad", "ni")

ni <- TDF_Ciudad$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_Ciudad <- data.frame(Ciudad = TDF_Ciudad$Ciudad, ni, hi) %>%
  arrange(desc(ni))

# Se asegura que "Otras Ciudades" quede al final de la tabla
TDF_Ciudad <- TDF_Ciudad %>%
  arrange(Ciudad == "Otras Ciudades", desc(ni))

# Fila de resumen (TOTAL)
Summary <- data.frame(Ciudad = "TOTAL", ni = sum(TDF_Ciudad$ni), hi = sum(TDF_Ciudad$hi))
TDF_Ciudad_suma <- rbind(TDF_Ciudad, Summary)

colnames(TDF_Ciudad_suma) <- c("Ciudad", "ni", "hi(%)")

# --- Solo Top 15 (sin "Otras Ciudades"), usado únicamente para los gráficos ---
TDF_Top15 <- TDF_Ciudad %>%
  filter(Ciudad != "Otras Ciudades") %>%
  arrange(desc(ni))

4.- Tabla de distribución de frecuencias

TDF_Ciudad_suma %>%
  gt() %>%
  tab_header(
    title    = md("Tabla Nro. 1"),
    subtitle = md("Distribución de frecuencias de la variable Ciudad (CITY): Top 15 ciudades con mayor concentración de instalaciones mineras y el resto agrupado en 'Otras Ciudades', 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 = Ciudad == "TOTAL")
  ) %>%
  tab_source_note(source_note = md("Autor: Luis Cruz"))
Tabla Nro. 1
Distribución de frecuencias de la variable Ciudad (CITY): Top 15 ciudades con mayor concentración de instalaciones mineras y el resto agrupado en ‘Otras Ciudades’, para el análisis de la actividad minera y emisión de gases en Estados Unidos.
Ciudad ni hi(%)
APPALACHIA 30 1.00
BIM 27 0.90
PIKEVILLE 27 0.90
NAOMA 18 0.60
ELBERTON 17 0.57
WELCH 17 0.57
EUFAULA 16 0.53
CARLTON 15 0.50
CLAYTON 15 0.50
CUMBERLAND 15 0.50
JENKINS 15 0.50
MONTGOMERY 15 0.50
WILLIAMS 15 0.50
GILLETTE 13 0.43
MARION 13 0.43
Otras Ciudades 2728 91.07
TOTAL 2996 100.00
Autor: Luis Cruz

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

Nota: los siguientes gráficos se construyen únicamente con las 15 ciudades de mayor concentración (sin la categoría “Otras Ciudades”), ya que esta última domina visualmente el gráfico sin aportar información útil, dado el altísimo nivel de dispersión geográfica de la variable (ver Conclusiones).

5.1- Diagrama de cantidad

par(mar = c(8, 5, 4, 2))
barplot(TDF_Top15$ni,
        names.arg = TDF_Top15$Ciudad,
        main = "Gráfica Nro. 1\nTop 15 ciudades con mayor concentración\nde instalaciones mineras en Estados Unidos",
        xlab = "", ylab = "Cantidad (ni)",
        col = "#2E75B6",
        las = 2, cex.names = 0.9)

5.2- Diagramas procentuales

par(mar = c(8, 5, 4, 2))
barplot(TDF_Top15$hi,
        names.arg = TDF_Top15$Ciudad,
        main = "Gráfica Nro. 2\nTop 15 ciudades: porcentaje sobre\nel total de instalaciones mineras",
        xlab = "", ylab = "Porcentaje (%)",
        col = "#AEC6E8",
        las = 2, cex.names = 0.9,
        ylim = c(0, max(TDF_Top15$hi) + 2))

5.3- Diagrama circular

Este gráfico muestra la distribución relativa entre las 15 ciudades principales (es decir, qué proporción del Top 15 corresponde a cada una), no su porcentaje sobre el total del dataset (ese dato está en la Tabla Nro. 1).

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

hi_relativo <- round(TDF_Top15$ni / sum(TDF_Top15$ni) * 100, 2)

par(mar = c(5, 2, 4, 14), xpd = TRUE)
pie(hi_relativo,
    labels = NA,
    col = colores[1:nrow(TDF_Top15)],
    radius = 0.8,
    main = "Gráfica Nro. 3\nDistribución relativa entre el\nTop 15 de ciudades")
legend("right",
       inset = c(-0.35, 0),
       legend = paste0(TDF_Top15$Ciudad, " (", hi_relativo, "%)"),
       fill = colores[1:nrow(TDF_Top15)],
       title = "CIUDAD",
       bty = "n", xpd = TRUE, cex = 0.8)

6.- Indicadores estadísticos

# Cálculo de la moda (Mo): la ciudad con mayor frecuencia (ni)
Moda_row <- TDF_Top15[which.max(TDF_Top15$ni), ]
Mo <- as.character(Moda_row$Ciudad[1])

tabla_indicadores <- data.frame(
  "Variable" = "Ciudad (CITY)",
  "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 Ciudad (CITY)")
Indicadores estadísticos de la variable Ciudad (CITY)
Variable Rango X Me Mo V Sd Cv As K Valores.Atípicos
Ciudad (CITY) - - - APPALACHIA - - - - - -

7.- Conclusiones

En conclusión:

La variable ciudad presenta un altísimo nivel de dispersión geográfica: existen 1347 ciudades distintas en el dataset, de las cuales 767 (56.9% de todas las ciudades) tienen registrada una única instalación minera, representando el 25.6% del total de registros. Esto evidencia que la actividad minera en Estados Unidos no está concentrada en pocas ciudades, sino repartida en un gran número de localidades pequeñas.

Aun así, dentro del Top 15 la ciudad con mayor concentración de instalaciones mineras es APPALACHIA, con 30 instalaciones (1% del total de registros del dataset).