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): 13
# 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 |
|---|---|---|---|---|---|---|---|
| [18.375 - 22.198) | 20.286 | 5 | 0.17 | 5 | 2993 | 0.17 | 100 |
| [22.198 - 26.02) | 24.109 | 0 | 0.00 | 5 | 2988 | 0.17 | 99.83 |
| [26.02 - 29.842) | 27.931 | 38 | 1.27 | 43 | 2988 | 1.44 | 99.83 |
| [29.842 - 33.664) | 31.753 | 257 | 8.59 | 300 | 2950 | 10.02 | 98.56 |
| [33.664 - 37.487) | 35.576 | 1008 | 33.68 | 1308 | 2693 | 43.7 | 89.98 |
| [37.487 - 41.309) | 39.398 | 1262 | 42.17 | 2570 | 1685 | 85.87 | 56.3 |
| [41.309 - 45.131) | 43.22 | 314 | 10.49 | 2884 | 423 | 96.36 | 14.13 |
| [45.131 - 48.954) | 47.042 | 89 | 2.97 | 2973 | 109 | 99.33 | 3.64 |
| [48.954 - 52.776) | 50.865 | 0 | 0.00 | 2973 | 20 | 99.33 | 0.67 |
| [52.776 - 56.598) | 54.687 | 1 | 0.03 | 2974 | 20 | 99.37 | 0.67 |
| [56.598 - 60.421) | 58.509 | 1 | 0.03 | 2975 | 19 | 99.4 | 0.63 |
| [60.421 - 64.243) | 62.332 | 4 | 0.13 | 2979 | 18 | 99.53 | 0.6 |
| [64.243 - 68.065] | 66.154 | 14 | 0.47 | 2993 | 14 | 100 | 0.47 |
| Totales | - | 2993 | 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 |
|---|---|---|---|---|---|---|---|
| [15 - 20) | 17.5 | 3 | 0.10 | 3 | 2993 | 0.1 | 100 |
| [20 - 25) | 22.5 | 2 | 0.07 | 5 | 2990 | 0.17 | 99.9 |
| [25 - 30) | 27.5 | 44 | 1.47 | 49 | 2988 | 1.64 | 99.83 |
| [30 - 35) | 32.5 | 412 | 13.77 | 461 | 2944 | 15.4 | 98.36 |
| [35 - 40) | 37.5 | 1661 | 55.50 | 2122 | 2532 | 70.9 | 84.6 |
| [40 - 45) | 42.5 | 755 | 25.23 | 2877 | 871 | 96.12 | 29.1 |
| [45 - 50) | 47.5 | 96 | 3.21 | 2973 | 116 | 99.33 | 3.88 |
| [50 - 55) | 52.5 | 0 | 0.00 | 2973 | 20 | 99.33 | 0.67 |
| [55 - 60) | 57.5 | 2 | 0.07 | 2975 | 20 | 99.4 | 0.67 |
| [60 - 65) | 62.5 | 8 | 0.27 | 2983 | 18 | 99.67 | 0.6 |
| [65 - 70] | 67.5 | 10 | 0.33 | 2993 | 10 | 100 | 0.33 |
| Totales | - | 2993 | 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 | [18.375 - 68.065] | 38.244 | 37.764 | 37.5 | 4.131 | 10.8 | 1.487 | 10.6051 |
| Autor: Luis Cruz | ||||||||
En conclusión:
La variable LAT fluctúa entre un mínimo de 18.375° y un máximo de 68.065°, con una media de 38.244° y una desviación estándar de 4.131°. Debido a un coeficiente de variación del 10.8%, se concluye que es un conjunto de valores con dispersión baja, con una distribución de asimetría positiva (1.487). Se han detectado 201 valores atípicos (6.72% del total), lo que sugiere que la actividad minera no se distribuye de forma uniforme entre las distintas latitudes del país.