Variable Original: MCITY
Nombre Variable: CIUDAD_MINA
Tipo: Cualitativa Nominal
library(dplyr)
library(gt)
library(knitr)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
Se selecciona la variable MCITY, que corresponde a la
ciudad de la dirección postal registrada para la mina (distinta de
CITY, que es la ciudad donde está físicamente ubicada la
instalación). Al analizarla se encontró que el dataset contiene 1226
ciudades distintas (con 75 valores vacíos), de las cuales el 60.6%
aparece una única vez. Por esta razón, se optó por presentar la
tabla completa agrupando las 15 ciudades con mayor
frecuencia más una categoría “Otras Ciudades” (para mantener el resumen
tabular manejable), 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_MINA <- trimws(as.character(datos$MCITY))
CIUDAD_MINA <- CIUDAD_MINA[!is.na(CIUDAD_MINA) & CIUDAD_MINA != ""]
n <- length(CIUDAD_MINA)
frecuencias <- sort(table(CIUDAD_MINA), decreasing = TRUE)
top_n <- 15
top_ciudades <- names(frecuencias)[1:top_n]
CIUDAD_MINA_agrupada <- ifelse(CIUDAD_MINA %in% top_ciudades, CIUDAD_MINA, "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)
# --- Tabla completa: Top 15 + "Otras Ciudades" ---
TDF_Ciudad <- as.data.frame(table(CIUDAD_MINA_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))
TDF_Ciudad_suma %>%
gt() %>%
tab_header(
title = md("Tabla Nro. 1"),
subtitle = md("Distribución de frecuencias de la variable Ciudad Mina (MCITY): 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 Mina (MCITY): 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(%) |
|---|---|---|
| PIKEVILLE | 57 | 1.95 |
| BECKLEY | 38 | 1.30 |
| ELBERTON | 34 | 1.16 |
| STANVILLE | 27 | 0.92 |
| GRUNDY | 23 | 0.79 |
| MADISON | 22 | 0.75 |
| ASHLAND | 21 | 0.72 |
| HAZARD | 21 | 0.72 |
| WISE | 21 | 0.72 |
| JASPER | 20 | 0.68 |
| KITTANNING | 20 | 0.68 |
| COEBURN | 17 | 0.58 |
| COSHOCTON | 17 | 0.58 |
| LONDON | 17 | 0.58 |
| MIDDLESBORO | 17 | 0.58 |
| Otras Ciudades | 2549 | 87.29 |
| TOTAL | 2921 | 100.00 |
| Autor: Luis Cruz | ||
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).
par(mar = c(8, 5, 4, 2))
barplot(TDF_Top15$ni,
names.arg = TDF_Top15$Ciudad,
main = "Gráfica Nro. 1\nTop 15 ciudades (dirección postal de la mina)\ncon mayor concentración de instalaciones",
xlab = "", ylab = "Cantidad (ni)",
col = "#2E75B6",
las = 2, cex.names = 0.9)
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))
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)
layout(matrix(1:2, nrow = 1), widths = c(1, 1.8))
par(mar = c(2, 2, 4, 1))
pie(hi_relativo,
labels = NA,
col = colores[1:nrow(TDF_Top15)],
radius = 0.9,
main = "Gráfica Nro. 3\nDistribución relativa entre el\nTop 15 de ciudades")
par(mar = c(2, 1, 4, 1))
plot.new()
legend("left",
legend = paste0(TDF_Top15$Ciudad, " (", hi_relativo, "%)"),
fill = colores[1:nrow(TDF_Top15)],
title = "CIUDAD MINA",
bty = "n", cex = 0.95)
# 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 Mina (MCITY)",
"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 Mina (MCITY)")
| Variable | Rango | X | Me | Mo | V | Sd | Cv | As | K | Valores.Atípicos |
|---|---|---|---|---|---|---|---|---|---|---|
| Ciudad Mina (MCITY) | - | - | - | PIKEVILLE | - | - | - | - | - | - |
En conclusión:
El valor más frecuente de la variable Ciudad Mina es PIKEVILLE, con 57 instalaciones (1.95% del total).