1. CARGA DE LIBRERÍAS Y DATOS
# Carga de Librerías
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(gt)
# Cargar base de datos
datos_nuevoartes <- read_excel("datos_deslizamientos.xlsx")
2. EXTRAER LA VARIABLE
longitude <- datos_nuevoartes$longitude
longitude <- longitude[!is.na(longitude)]
3. CONTEO
n_long <- length(longitude)
n_long
## [1] 11033
3.1 Parámetros de clasificación
k_long <- 12
min_long <- min(longitude)
max_long <- max(longitude)
R_long <- max_long - min_long
A_real <- R_long / k_long
3.2 Ajuste de amplitud de clase
A_long <- ifelse(
A_real <= 2, 2,
ifelse(
A_real <= 5, 5,
ifelse(
A_real <= 10, 10,
ceiling(A_real / 10) * 10
)
)
)
3.3 Definición de clases
Li0 <- floor(min_long / A_long) * A_long
Li_long <- seq(Li0, by = A_long, length.out = k_long)
Ls_long <- Li_long + A_long
MC_long <- round((Li_long + Ls_long) / 2, 2)
3.4 Cálculo de frecuencias
ni_long <- numeric(k_long)
for (i in 1:k_long) {
if (i < k_long) {
ni_long[i] <- sum(longitude >= Li_long[i] & longitude < Ls_long[i])
} else {
ni_long[i] <- sum(longitude >= Li_long[i] & longitude <= max_long)
}
}
hi_long <- round((ni_long / sum(ni_long)) * 100, 2)
Ni_asc_long <- cumsum(ni_long)
Ni_dsc_long <- rev(cumsum(rev(ni_long)))
Hi_asc_long <- round(cumsum(hi_long), 2)
Hi_dsc_long <- round(rev(cumsum(rev(hi_long))), 2)
4. TABLA DE FRECUENCIAS
4.1 Tabla de frecuencias
TDF_longitude <- data.frame(
Li = Li_long,
Ls = Ls_long,
MC = MC_long,
ni = ni_long,
hi = hi_long,
Ni_asc = Ni_asc_long,
Ni_dsc = Ni_dsc_long,
Hi_asc = Hi_asc_long,
Hi_dsc = Hi_dsc_long
)
TDF_longitude <- rbind(
TDF_longitude,
data.frame(
Li = "TOTAL",
Ls = "",
MC = "",
ni = sum(ni_long),
hi = 100,
Ni_asc = "",
Ni_dsc = "",
Hi_asc = "",
Hi_dsc = ""
)
)
4.2 Presentación de la tabla
tabla_longitude <- TDF_longitude %>%
gt() %>%
fmt_number(columns = MC, decimals = 2) %>%
tab_header(
title = md("Tabla N° 1"),
subtitle = md("Distribución de frecuencias de Longitude (12 clases)")
) %>%
tab_source_note(
source_note = md("Autor: Grupo Geología")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = Li == "TOTAL")
)
tabla_longitude
| Tabla N° 1 |
| Distribución de frecuencias de Longitude (12 clases) |
| Li |
Ls |
MC |
ni |
hi |
Ni_asc |
Ni_dsc |
Hi_asc |
Hi_dsc |
| -180 |
-150 |
-165 |
85 |
0.77 |
85 |
11033 |
0.77 |
100.02 |
| -150 |
-120 |
-135 |
1893 |
17.16 |
1978 |
10948 |
17.93 |
99.25 |
| -120 |
-90 |
-105 |
1221 |
11.07 |
3199 |
9055 |
29 |
82.09 |
| -90 |
-60 |
-75 |
1526 |
13.83 |
4725 |
7834 |
42.83 |
71.02 |
| -60 |
-30 |
-45 |
228 |
2.07 |
4953 |
6308 |
44.9 |
57.19 |
| -30 |
0 |
-15 |
318 |
2.88 |
5271 |
6080 |
47.78 |
55.12 |
| 0 |
30 |
15 |
334 |
3.03 |
5605 |
5762 |
50.81 |
52.24 |
| 30 |
60 |
45 |
279 |
2.53 |
5884 |
5428 |
53.34 |
49.21 |
| 60 |
90 |
75 |
2034 |
18.44 |
7918 |
5149 |
71.78 |
46.68 |
| 90 |
120 |
105 |
1784 |
16.17 |
9702 |
3115 |
87.95 |
28.24 |
| 120 |
150 |
135 |
1083 |
9.82 |
10785 |
1331 |
97.77 |
12.07 |
| 150 |
180 |
165 |
248 |
2.25 |
11033 |
248 |
100.02 |
2.25 |
| TOTAL |
|
|
11033 |
100.00 |
|
|
|
|
| Autor: Grupo Geología |
5. GRÁFICAS
5.1 Histogramas
5.1.1 Distribución local de la longitud de los
deslizamientos a nivel mundial (ni)
hist(
longitude,
breaks = c(Li_long, max(Ls_long)),
right = FALSE,
freq = TRUE,
col = "grey",
border = "black",
main = "Distribución local de la longitud de los deslizamientos\n a nivel mundial (ni)",
xlab = "Longitude (°)",
ylab = "Frecuencia absoluta (ni)"
)

5.1.2 Distribución global de la longitud de los
deslizamientos a nivel mundial (ni)
hist(
longitude,
breaks = c(Li_long, max(Ls_long)),
right = FALSE,
freq = TRUE,
col = "grey",
border = "black",
ylim = c(0, sum(ni_long)),
main = "Distribución global de la longitud de los deslizamientos\n a nivel mundial (ni)",
xlab = "Longitude (°)",
ylab = "Frecuencia absoluta acumulable"
)

5.1.3 Distribución local de la longitud de los
deslizamientos a nivel mundial (hi)
hist(
longitude,
breaks = c(Li_long, max(Ls_long)),
right = FALSE,
freq = FALSE,
col = "grey",
border = "black",
main = "Distribución local de la longitud de los deslizamientos\n a nivel mundial (hi)",
xlab = "Longitude (°)",
ylab = "Frecuencia relativa"
)

5.1.4 Distribución global de la longitud de los
deslizamientos a nivel mundial (hi)
hist(
longitude,
breaks = c(Li_long, max(Ls_long)),
right = FALSE,
freq = FALSE,
col = "grey",
border = "black",
ylim = c(0, max(hi_long) / 100 * 1.2),
main = "Distribución global de la longitud de los deslizamientos\n a nivel mundial (hi)",
xlab = "Longitude (°)",
ylab = "Frecuencia relativa"
)

5.2 Ojivas
plot(
Ls_long,
Ni_asc_long,
type = "o",
pch = 19,
col = "blue",
ylim = c(0, max(Ni_asc_long)),
main = "Ojiva combinada de Longitude",
xlab = "Límites de clase (°)",
ylab = "Frecuencia acumulada"
)
lines(
Li_long,
Ni_dsc_long,
type = "o",
pch = 17,
col = "red"
)
legend(
"right",
legend = c("Ojiva ascendente (Ni ≤)", "Ojiva descendente (Ni ≥)"),
col = c("blue", "red"),
pch = c(19, 17),
lty = 1,
cex = 0.8,
bty = "b"
)

5.3 Boxplot individual
boxplot(
longitude,
horizontal = TRUE,
col = "grey",
border = "black",
main = "Diagrama de caja de Longitude",
xlab = "Longitude (°)",
outline = TRUE,
pch = 19,
outcol = "red"
)

5.4 Histograma con boxplot superpuesto
h <- hist(
longitude,
breaks = c(Li_long, max(Ls_long)),
right = FALSE,
plot = FALSE
)
plot(
h,
freq = TRUE,
col = "grey",
border = "black",
main = "Histograma local (ni) con boxplot superpuesto",
xlab = "Longitude (°)",
ylab = "Frecuencia absoluta (ni)"
)
boxplot(
longitude,
horizontal = TRUE,
add = TRUE,
axes = FALSE,
at = max(h$counts) * 0.45, # posición vertical
boxwex = max(h$counts) * 0.50, # altura de la caja
col = rgb(0.45, 0.80, 1.00, 0.70),
border = "black",
outline = TRUE,
pch = 19,
outcol = "red"
)

6. INDICADORES ESTADÍSTICOS
6.1 Indicadores de posición
# Límites teóricos
ri <- -180
rs <- 180
# Media
media_long <- mean(longitude)
# Mediana
mediana_long <- median(longitude)
# Moda (redondeando a una cifra decimal)
moda_long <- as.numeric(
names(which.max(table(round(longitude, 1))))
)
6.2 Indicadores de dispersión
# Rango
rango_long <- max(longitude) - min(longitude)
# Varianza
var_long <- var(longitude)
# Desviación estándar
sd_long <- sd(longitude)
# Coeficiente de variación (%)
CV_long <- (sd_long / abs(media_long)) * 100
6.3 Indicadores de forma
# Coeficiente de asimetría de Fisher
As_long <- mean((longitude - media_long)^3) / sd_long^3
# Exceso de curtosis de Fisher
K_long <- mean((longitude - media_long)^4) / sd_long^4 - 3
6.4 Tabla resumen de indicadores
TablaIndicadores_longitude <- data.frame(
Variable = "Longitude",
ri = ri,
rs = rs,
Media = round(media_long, 2),
Mediana = round(mediana_long, 2),
Moda = round(moda_long, 2),
Rango = round(rango_long, 2),
Varianza = round(var_long, 2),
Desv_Estandar = round(sd_long, 2),
CV = round(CV_long, 2),
Asimetria = round(As_long, 2),
Curtosis = round(K_long, 2)
)
tabla_longitude_indicadores <- TablaIndicadores_longitude %>%
gt() %>%
tab_header(
title = md("Tabla N° 2"),
subtitle = md("Resumen de indicadores estadísticos de la variable Longitude")
) %>%
tab_source_note(
source_note = md("Autor: Grupo Geología")
)
tabla_longitude_indicadores
| Tabla N° 2 |
| Resumen de indicadores estadísticos de la variable Longitude |
| Variable |
ri |
rs |
Media |
Mediana |
Moda |
Rango |
Varianza |
Desv_Estandar |
CV |
Asimetria |
Curtosis |
| Longitude |
-180 |
180 |
2.52 |
19.69 |
-122.3 |
359.97 |
10182.5 |
100.91 |
4003.6 |
-0.06 |
-1.67 |
| Autor: Grupo Geología |
7. CONCLUSIÓN
La variable Longitude, medida en grados, presenta un rango de
referencia comprendido entre −180° y 180°, con una media de 2.52° y una
mediana de 19.69°, lo que indica que los valores se distribuyen
alrededor del centro del sistema de coordenadas geográficas. La
desviación estándar de 100.91° refleja una elevada dispersión de los
datos, mientras que el coeficiente de variación de 4003.60 % evidencia
una alta variabilidad, debido a que la media es muy cercana a cero. El
coeficiente de asimetría de −0.06 indica que la distribución es
prácticamente simétrica, sin un sesgo importante hacia valores positivos
o negativos, y la curtosis de −1.67 muestra una distribución
platicúrtica, caracterizada por una menor concentración de datos
alrededor de la media y colas menos pronunciadas que una distribución
normal. En conjunto, estos resultados evidencian que las longitudes de
los deslizamientos se encuentran ampliamente distribuidas a lo largo del
territorio analizado, lo que permite describir adecuadamente su
ubicación espacial y constituye una base para posteriores análisis de
distribución geográfica y evaluación de la ocurrencia de
deslizamientos.