Variable Original: STATE
Nombre Variable: ESTADO
Tipo: Cualitativa Nominal
#Estadística descriptiva
#Variable cualitativa nominal: Estado Administrativo (STATE)
#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 STATE y se agrupan los estados
en 8 regiones geográficas para mantener la tabla con máximo 10 filas
(recomendación académica). La agrupación es idéntica a la usada en
MSTATE, para mantener consistencia metodológica entre ambas variables de
estado.
ESTADO <- trimws(as.character(datos$STATE))
ESTADO <- ESTADO[!is.na(ESTADO) & ESTADO != ""]
n <- length(ESTADO)
region <- character(length(ESTADO))
for (i in 1:length(ESTADO)) {
if (ESTADO[i] %in% c("KY","WV","VA","PA","TN")) {
region[i] <- "Appalachia"
} else if (ESTADO[i] %in% c("AL","GA","MS","AR","LA","FL","SC","NC","TX","OK")) {
region[i] <- "Sur"
} else if (ESTADO[i] %in% c("OH","IN","NY","MD","NJ","CT","MA","VT","NH","ME","RI","DE")) {
region[i] <- "Noreste"
} else if (ESTADO[i] %in% c("IL","MO","KS","IA","MN","WI","ND","SD","NE","MI")) {
region[i] <- "Centro"
} else if (ESTADO[i] %in% c("AZ","NM","CO","UT","NV","CA")) {
region[i] <- "Suroeste"
} else if (ESTADO[i] %in% c("WA","OR","ID","MT","WY")) {
region[i] <- "Noroeste"
} else if (ESTADO[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 Administrativo (STATE) 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 Administrativo (STATE) para el análisis de la actividad minera y emisión de gases en Estados Unidos. | ||
| Región | ni | hi(%) |
|---|---|---|
| Appalachia | 1509 | 50.37 |
| Sur | 507 | 16.92 |
| Noreste | 352 | 11.75 |
| Suroeste | 325 | 10.85 |
| Centro | 155 | 5.17 |
| Noroeste | 123 | 4.11 |
| Alaska/Hawaii | 22 | 0.73 |
| Otros | 3 | 0.10 |
| TOTAL | 2996 | 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 = "#C00000",
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 = "#FF9999",
las = 2, cex.names = 0.9,
ylim = c(0, 100))
colores <- c("#C00000","#FF9999","#7B0000","#FF6666",
"#FF3333","#CC0000","#FF0000","#FFB3B3")
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)
par(xpd = FALSE)
# 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 Administrativo (STATE)",
"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 Administrativo (STATE)")
| Variable | Rango | X | Me | Mo | V | Sd | Cv | As | K | Valores.Atípicos |
|---|---|---|---|---|---|---|---|---|---|---|
| Estado Administrativo (STATE) | - | - | - | Appalachia | - | - | - | - | - | - |
En conclusión:
La variable estado administrativo (STATE) representa el estado en razón del cual se registran las emisiones de gases (a diferencia de MSTATE, que indica la ubicación física de la mina). La región con mayor concentración administrativa es Appalachia, con 1509 instalaciones (50.37% del total).