Variable Original: y
Nombre Variable: LAT
library(dplyr)
library(gt)
library(e1071)
datos <- read.csv("~/Estudio/TERCER SEMESTRE/Estadistica/Dataset.csv",
sep = ";", stringsAsFactors = FALSE)
LAT <- as.numeric(gsub(",", ".", datos$y))
## Warning: NAs introducidos por coerción
LAT <- LAT[!is.na(LAT)]
n <- length(LAT)
min_lat <- min(LAT)
max_lat <- max(LAT)
R <- max_lat - min_lat
# Número de intervalos mediante la Regla de Sturges
k_detallado <- ceiling(1 + 3.322 * log10(n))
# Amplitud de clase
A <- R / k_detallado
cat("Número de intervalos (k):", k_detallado, "\n")
## Número de intervalos (k): 10
# Generación de límites de intervalo
Li <- seq(from = min_lat, to = max_lat - A, by = A)
Ls <- c(seq(from = min_lat + A, to = max_lat - A, by = A), max_lat)
# Marcas de clase (MC)
MC <- round((Li + Ls) / 2, 3)
# Frecuencias absolutas (ni)
ni <- numeric(length(Li))
for (i in 1:length(Li)) {
if (i < length(Li)) {
# Intervalo abierto por la derecha: [Li, Ls)
ni[i] <- sum(LAT >= Li[i] & LAT < Ls[i])
} else {
# Último intervalo cerrado: [Li, Ls]
ni[i] <- sum(LAT >= Li[i] & LAT <= Ls[i])
}
}
# Frecuencias relativas y acumuladas
hi <- (ni / n) * 100
Ni_asc <- cumsum(ni)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_asc <- cumsum(hi)
Hi_desc <- rev(cumsum(rev(hi)))
# Formatear la columna Intervalo
Intervalo <- paste0("[", round(Li, 3), " - ", round(Ls, 3), ")")
Intervalo[length(Intervalo)] <- paste0("[", round(Li[length(Li)], 3), " - ",
round(Ls[length(Ls)], 3), "]")
# Vector completo de breaks (incluye el límite superior del último
# intervalo) para usar directamente en hist()
breaks_hist <- c(Li, max_lat)
TDF_lat <- data.frame(
Intervalo = Intervalo,
MC = MC,
ni = ni,
hi = round(hi, 2),
Ni_ascendente = Ni_asc,
Ni_descendente = Ni_desc,
Hi_ascendente = round(Hi_asc, 2),
Hi_descendente = round(Hi_desc, 2)
)
totales <- data.frame(
Intervalo = "Totales", MC = "-", ni = sum(ni), hi = round(sum(hi), 2),
Ni_ascendente = "-", Ni_descendente = "-",
Hi_ascendente = "-", Hi_descendente = "-"
)
TDF_lat_completa <- rbind(TDF_lat, totales)
TDF_lat_completa %>%
gt() %>%
tab_header(
title = md("Tabla Nro. 1"),
subtitle = md("Distribución de frecuencia de Latitud Geográfica (LAT) 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 = Intervalo == "Totales")
) %>%
tab_source_note(source_note = md("Autor: Luis Cruz"))
| Tabla Nro. 1 | |||||||
| Distribución de frecuencia de Latitud Geográfica (LAT) para el análisis de la actividad minera y emisión de gases en Estados Unidos. | |||||||
| Intervalo | MC | ni | hi | Ni_ascendente | Ni_descendente | Hi_ascendente | Hi_descendente |
|---|---|---|---|---|---|---|---|
| [28.709 - 90.899) | 59.804 | 30 | 10.99 | 30 | 273 | 10.99 | 100 |
| [90.899 - 153.089) | 121.994 | 0 | 0.00 | 30 | 243 | 10.99 | 89.01 |
| [153.089 - 215.279) | 184.184 | 3 | 1.10 | 33 | 243 | 12.09 | 89.01 |
| [215.279 - 277.469) | 246.374 | 1 | 0.37 | 34 | 240 | 12.45 | 87.91 |
| [277.469 - 339.658) | 308.564 | 30 | 10.99 | 64 | 239 | 23.44 | 87.55 |
| [339.658 - 401.848) | 370.753 | 151 | 55.31 | 215 | 209 | 78.75 | 76.56 |
| [401.848 - 464.038) | 432.943 | 53 | 19.41 | 268 | 58 | 98.17 | 21.25 |
| [464.038 - 526.228) | 495.133 | 3 | 1.10 | 271 | 5 | 99.27 | 1.83 |
| [526.228 - 588.418) | 557.323 | 0 | 0.00 | 271 | 2 | 99.27 | 0.73 |
| [588.418 - 650.608] | 619.513 | 2 | 0.73 | 273 | 2 | 100 | 0.73 |
| Totales | - | 273 | 100.00 | - | - | - | - |
| Autor: Luis Cruz | |||||||
brks2 <- pretty(LAT, n = 10)
Li2 <- brks2[-length(brks2)]
Ls2 <- brks2[-1]
MC2 <- (Li2 + Ls2) / 2
ni2 <- numeric(length(Li2))
for (i in 1:length(Li2)) {
if (i < length(Li2)) {
ni2[i] <- sum(LAT >= Li2[i] & LAT < Ls2[i])
} else {
ni2[i] <- sum(LAT >= Li2[i] & LAT <= Ls2[i])
}
}
hi2 <- (ni2 / n) * 100
Ni2_asc <- cumsum(ni2)
Ni2_desc <- rev(cumsum(rev(ni2)))
Hi2_asc <- cumsum(hi2)
Hi2_desc <- rev(cumsum(rev(hi2)))
Intervalo2 <- paste0("[", round(Li2, 1), " - ", round(Ls2, 1), ")")
Intervalo2[length(Intervalo2)] <- paste0(
"[", round(Li2[length(Li2)], 1), " - ", round(Ls2[length(Ls2)], 1), "]")
TDF_lat_10 <- data.frame(
Intervalo = Intervalo2,
MC = round(MC2, 1),
ni = ni2,
hi = round(hi2, 2),
Ni_ascendente = Ni2_asc,
Ni_descendente = Ni2_desc,
Hi_ascendente = round(Hi2_asc, 2),
Hi_descendente = round(Hi2_desc, 2)
)
totales2 <- data.frame(
Intervalo = "Totales", MC = "-", ni = sum(ni2), hi = round(sum(hi2), 2),
Ni_ascendente = "-", Ni_descendente = "-",
Hi_ascendente = "-", Hi_descendente = "-"
)
TDF_lat_10_completa <- rbind(TDF_lat_10, totales2)
TDF_lat_10_completa %>%
gt() %>%
tab_header(
title = md("Tabla Nro. 2"),
subtitle = md("Distribución de frecuencia de Latitud Geográfica (LAT), intervalos reducidos.")
) %>%
cols_align(align = "center", columns = everything()) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = Intervalo == "Totales")
) %>%
tab_source_note(source_note = md("Autor: Luis Cruz"))
| Tabla Nro. 2 | |||||||
| Distribución de frecuencia de Latitud Geográfica (LAT), intervalos reducidos. | |||||||
| Intervalo | MC | ni | hi | Ni_ascendente | Ni_descendente | Hi_ascendente | Hi_descendente |
|---|---|---|---|---|---|---|---|
| [0 - 50) | 25 | 30 | 10.99 | 30 | 273 | 10.99 | 100 |
| [50 - 100) | 75 | 0 | 0.00 | 30 | 243 | 10.99 | 89.01 |
| [100 - 150) | 125 | 0 | 0.00 | 30 | 243 | 10.99 | 89.01 |
| [150 - 200) | 175 | 3 | 1.10 | 33 | 243 | 12.09 | 89.01 |
| [200 - 250) | 225 | 0 | 0.00 | 33 | 240 | 12.09 | 87.91 |
| [250 - 300) | 275 | 4 | 1.47 | 37 | 240 | 13.55 | 87.91 |
| [300 - 350) | 325 | 39 | 14.29 | 76 | 236 | 27.84 | 86.45 |
| [350 - 400) | 375 | 133 | 48.72 | 209 | 197 | 76.56 | 72.16 |
| [400 - 450) | 425 | 58 | 21.25 | 267 | 64 | 97.8 | 23.44 |
| [450 - 500) | 475 | 4 | 1.47 | 271 | 6 | 99.27 | 2.2 |
| [500 - 550) | 525 | 0 | 0.00 | 271 | 2 | 99.27 | 0.73 |
| [550 - 600) | 575 | 0 | 0.00 | 271 | 2 | 99.27 | 0.73 |
| [600 - 650) | 625 | 1 | 0.37 | 272 | 2 | 99.63 | 0.73 |
| [650 - 700] | 675 | 1 | 0.37 | 273 | 1 | 100 | 0.37 |
| Totales | - | 273 | 100.00 | - | - | - | - |
| Autor: Luis Cruz | |||||||
Histograma general
par(mar = c(5, 5, 4, 2))
hist(LAT, breaks = breaks_hist,
main = "Gráfica Nro. 1\nDistribución de LAT en instalaciones\nmineras de Estados Unidos",
xlab = "Latitud (°)", ylab = "Cantidad",
col = "#C00000", border = "white",
cex.main = 0.9)
Histograma con relación al todo
par(mar = c(5, 5, 4, 2))
hist(LAT, breaks = breaks_hist,
main = "Gráfica Nro. 2\nDistribución de LAT en instalaciones\nmineras de Estados Unidos",
xlab = "Latitud (°)", ylab = "Cantidad",
col = "#C00000", border = "white",
ylim = c(0, n),
cex.main = 0.9)
Histograma porcentual general
par(mar = c(5, 5, 4, 2))
barplot(hi2,
names.arg = round(MC2, 1),
main = "Gráfica Nro. 3\nDistribución porcentual de LAT en instalaciones\nmineras de Estados Unidos",
xlab = "Latitud (°)", ylab = "Porcentaje (%)",
col = "#FF9999", border = "black",
las = 2, cex.names = 0.8,
ylim = c(0, max(hi2) + 5))
Histograma porcentual con relación al todo
par(mar = c(5, 5, 4, 2))
barplot(hi2,
names.arg = round(MC2, 1),
main = "Gráfica Nro. 4\nDistribución porcentual de LAT en instalaciones\nmineras de Estados Unidos",
xlab = "Latitud (°)", ylab = "Porcentaje (%)",
col = "#FF9999", border = "black",
las = 2, cex.names = 0.8,
ylim = c(0, 100))
options(scipen = 999)
boxplot(LAT,
horizontal = TRUE,
main = "Gráfica Nro. 5\nDistribución de LAT en instalaciones\nmineras de Estados Unidos",
xlab = "Latitud (°)",
col = "#FFB3B3",
border = "#7B0000",
pch = 1)
par(mar = c(5, 5, 4, 2))
plot(MC2, Ni2_asc,
type = "b", pch = 16, lwd = 2, col = "#C00000",
main = "Gráfica Nro. 6\nOjiva ascendente y descendente de\nLAT",
xlab = "Latitud (°)", ylab = "Cantidad",
ylim = c(0, n))
lines(MC2, Ni2_desc, type = "b", pch = 16, lwd = 1, col = "black")
legend("right", legend = c("Ascendente","Descendente"),
col = c("#C00000","black"), lwd = 2, pch = 16, bty = "n", cex = 0.8)
grid()
box()
par(mar = c(5, 5, 4, 2))
plot(MC2, Hi2_asc,
type = "b", pch = 16, lwd = 2, col = "#C00000",
main = "Gráfica Nro. 7\nOjiva porcentual ascendente y descendente de\nLAT",
xlab = "Latitud (°)", ylab = "Porcentaje (%)",
ylim = c(0, 100))
lines(MC2, Hi2_desc, type = "b", pch = 16, lwd = 1, col = "black")
legend("right", legend = c("Ascendente","Descendente"),
col = c("#C00000","black"), lwd = 2, pch = 16, bty = "n", cex = 0.8)
grid()
box()
X <- mean(LAT)
Me <- median(LAT)
# Moda: marca de clase del intervalo con mayor ni (tabla reducida)
moda_idx <- which.max(ni2)
Mo <- round(MC2[moda_idx], 2)
desv <- sd(LAT)
V <- var(LAT)
CV <- round((desv / X) * 100, 2)
As <- skewness(LAT, type = 2)
K <- kurtosis(LAT, type = 2)
# Outliers (regla de Tukey, 1.5*IQR) — se usan en la conclusión
q1 <- quantile(LAT, 0.25)
q3 <- quantile(LAT, 0.75)
iqr_val <- q3 - q1
lim_inf <- q1 - 1.5 * iqr_val
lim_sup <- q3 + 1.5 * iqr_val
outliers <- LAT[LAT < lim_inf | LAT > lim_sup]
n_outliers <- length(outliers)
porc_outliers <- round(n_outliers / n * 100, 2)
Tabla_indicadores <- data.frame(
Variable = "LAT",
Rango = paste0("[", round(min_lat, 3), " - ", round(max_lat, 3), "]"),
Media = round(X, 3),
Mediana = round(Me, 3),
Moda = Mo,
DesvEst = round(desv, 3),
CV = CV,
Asimetria = round(As, 4),
Curtosis = round(K, 4)
)
Tabla_indicadores %>%
gt() %>%
cols_label(
Variable = "Variable", Rango = "Rango",
Media = "Media (X)", Mediana = "Mediana (Me)", Moda = "Moda (Mo)",
DesvEst = "Desv. Est. (sd)", CV = "CV (%)",
Asimetria = "Asimetría (As)", Curtosis = "Curtosis (K)"
) %>%
tab_header(
title = md("Tabla Nro. 3"),
subtitle = md("Indicadores Estadísticos de LAT para el análisis de la actividad minera y emisión de gases en Estados Unidos.")
) %>%
tab_spanner(label = "Tendencia Central", columns = c(Media, Mediana, Moda)) %>%
tab_spanner(label = "Dispersión", columns = c(DesvEst, CV)) %>%
tab_spanner(label = "Forma", columns = c(Asimetria, Curtosis)) %>%
cols_align(align = "center", columns = everything()) %>%
tab_source_note(source_note = md("Autor: Luis Cruz"))
| Tabla Nro. 3 | ||||||||
| Indicadores Estadísticos de LAT para el análisis de la actividad minera y emisión de gases en Estados Unidos. | ||||||||
| Variable | Rango |
Tendencia Central
|
Dispersión
|
Forma
|
||||
|---|---|---|---|---|---|---|---|---|
| Media (X) | Mediana (Me) | Moda (Mo) | Desv. Est. (sd) | CV (%) | Asimetría (As) | Curtosis (K) | ||
| LAT | [28.709 - 650.608] | 339.858 | 373.525 | 375 | 115.2 | 33.9 | -1.8224 | 2.8462 |
| Autor: Luis Cruz | ||||||||
La variable LAT fluctúa entre un mínimo de 28.709° y un máximo de 650.608°, y gira en torno a una media de 339.858°, con una desviación estándar de 115.2°. Se han detectado 35 valores atípicos (12.82% del total), lo que sugiere que la actividad minera no se distribuye de forma uniforme entre las distintas latitudes del país. Debido a un coeficiente de variación del 33.9%, es un conjunto de datos con dispersión alta, cuyos valores se agrupan fuertemente en la parte alta de LAT. Por lo anterior, el comportamiento es perjudicial para la vigilancia ambiental, ya que la actividad minera se concentra en franjas latitudinales específicas (coincidentes con la región Apalache), dificultando una cobertura regulatoria uniforme a lo largo del país.