Variable Original: MSTATE
Nombre Variable: ESTADO_MINA
Tipo: Cualitativa Nominal
Justificación de la variable: El estado donde se ubica físicamente cada mina es la variable geográfica principal del proyecto.
#Estadística descriptiva
#Variable cualitativa nominal: Estado de la Mina (MSTATE)
#Autor: Luis Cruz
#Fecha: 2026-07-05
library(dplyr)
library(gt)
library(knitr)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
Se selecciona la variable MSTATE y se agrupan los 50
estados en 8 regiones geográficas para mantener la tabla con máximo 10
filas (recomendación académica).
ESTADO_MINA <- trimws(as.character(datos$MSTATE))
ESTADO_MINA <- ESTADO_MINA[!is.na(ESTADO_MINA) & ESTADO_MINA != ""]
n <- length(ESTADO_MINA)
region <- character(length(ESTADO_MINA))
for (i in 1:length(ESTADO_MINA)) {
if (ESTADO_MINA[i] %in% c("KY","WV","VA","PA","TN")) {
region[i] <- "Appalachia"
} else if (ESTADO_MINA[i] %in% c("AL","GA","MS","AR","LA","FL","SC","NC","TX","OK")) {
region[i] <- "Sur"
} else if (ESTADO_MINA[i] %in% c("OH","IN","NY","MD","NJ","CT","MA","VT","NH","ME","RI","DE")) {
region[i] <- "Noreste"
} else if (ESTADO_MINA[i] %in% c("IL","MO","KS","IA","MN","WI","ND","SD","NE","MI")) {
region[i] <- "Centro"
} else if (ESTADO_MINA[i] %in% c("AZ","NM","CO","UT","NV","CA")) {
region[i] <- "Suroeste"
} else if (ESTADO_MINA[i] %in% c("WA","OR","ID","MT","WY")) {
region[i] <- "Noroeste"
} else if (ESTADO_MINA[i] %in% c("AK","HI")) {
region[i] <- "Alaska/Hawaii"
} else {
region[i] <- "Otros"
}
}
TDF_Region <- as.data.frame(table(region))
colnames(TDF_Region) <- c("Region", "ni")
ni <- TDF_Region$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_Region <- data.frame(Region = TDF_Region$Region, ni, hi) %>%
arrange(desc(ni))
# Fila de resumen (TOTAL)
Summary <- data.frame(Region = "TOTAL", ni = sum(TDF_Region$ni), hi = sum(TDF_Region$hi))
TDF_Region_suma <- rbind(TDF_Region, Summary)
colnames(TDF_Region_suma) <- c("Región", "ni", "hi(%)")
TDF_Region_suma %>%
gt() %>%
tab_header(
title = md("Tabla Nro. 1"),
subtitle = md("Distribución de frecuencias de la variable Estado de la Mina (MSTATE) 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 = Región == "TOTAL")
) %>%
tab_source_note(source_note = md("Autor: Luis Cruz"))
| Tabla Nro. 1 | ||
| Distribución de frecuencias de la variable Estado de la Mina (MSTATE) para el análisis de la actividad minera y emisión de gases en Estados Unidos. | ||
| Región | ni | hi(%) |
|---|---|---|
| Appalachia | 1506 | 51.57 |
| Sur | 464 | 15.88 |
| Noreste | 338 | 11.57 |
| Suroeste | 299 | 10.24 |
| Centro | 161 | 5.51 |
| Noroeste | 130 | 4.45 |
| Alaska/Hawaii | 20 | 0.68 |
| Otros | 3 | 0.10 |
| TOTAL | 2921 | 100.00 |
| Autor: Luis Cruz | ||
par(mar = c(8, 5, 4, 2))
barplot(TDF_Region$ni,
names.arg = TDF_Region$Region,
main = "Gráfica Nro. 1\nDistribución de cantidad por región geográfica\nen instalaciones mineras de Estados Unidos",
xlab = "", ylab = "Cantidad (ni)",
col = "#2E75B6",
las = 2, cex.names = 0.9)
par(mar = c(8, 5, 4, 2))
barplot(TDF_Region$hi,
names.arg = TDF_Region$Region,
main = "Gráfica Nro. 2\nDistribución de cantidad en porcentaje\npor región geográfica en instalaciones mineras de Estados Unidos",
xlab = "", ylab = "Porcentaje (%)",
col = "#AEC6E8",
las = 2, cex.names = 0.9,
ylim = c(0, 100))
colores <- c("#1f78b4","#33a02c","#e31a1c","#ff7f00",
"#6a3d9a","#b15928","#a6cee3","#b2df8a")
par(mar = c(5, 2, 4, 14), xpd = TRUE)
pie(TDF_Region$hi,
labels = NA,
col = colores[1:nrow(TDF_Region)],
radius = 0.8,
main = "Gráfica Nro. 3\nDistribución de cantidad en porcentaje\npor región geográfica")
legend("right",
inset = c(-0.35, 0),
legend = paste0(TDF_Region$Region, " (", TDF_Region$hi, "%)"),
fill = colores[1:nrow(TDF_Region)],
title = "REGIÓN",
bty = "n", xpd = TRUE, cex = 0.8)
# Cálculo de la moda (Mo): la región con mayor frecuencia (ni)
Moda_row <- TDF_Region[which.max(TDF_Region$ni), ]
Mo <- as.character(Moda_row$Region[1])
tabla_indicadores <- data.frame(
"Variable" = "Estado de la Mina (MSTATE)",
"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 Estado de la Mina (MSTATE)")
| Variable | Rango | X | Me | Mo | V | Sd | Cv | As | K | Valores.Atípicos |
|---|---|---|---|---|---|---|---|---|---|---|
| Estado de la Mina (MSTATE) | - | - | - | Appalachia | - | - | - | - | - | - |
En conclusión:
La variable estado de la mina fue agrupada en 8 regiones geográficas para facilitar su análisis. Siendo la región con mayor concentración es Appalachia, con 1506 instalaciones (51.57% del total).