1. CARGA DE DATOS Y LIBRERÍAS
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(readxl)
library(gt)
datos <- read_excel("datos_deslizamientos.xlsx")
3. CONTEO
3.1 Consolidación de categorías
datos <- datos %>%
mutate(
landslide_trigger_consol = case_when(
landslide_trigger %in% c(
"downpour",
"rain",
"continuous_rain",
"monsoon"
) ~ "Precipitación",
landslide_trigger %in% c(
"snowfall_snowmelt",
"freeze_thaw"
) ~ "Fenómenos de nieve/hielo",
landslide_trigger %in% c(
"earthquake",
"volcano"
) ~ "Actividad geológica",
landslide_trigger %in% c(
"mining",
"construction",
"vibration",
"leaking_pipe"
) ~ "Desencadenante humano",
landslide_trigger %in% c(
"flooding",
"dam_embankment_collapse"
) ~ "Estructuras",
landslide_trigger %in% c(
"unknown",
"no_apparent_trigger",
"other"
) ~ "Otros desencadenantes",
TRUE ~ NA_character_
)
)
3.2 Conteo de datos
variable <- datos$landslide_trigger_consol
variable <- variable[!is.na(variable)]
N <- length(variable)
3.3 Cálculo de frecuencias
TDFTrigger <- datos %>%
filter(!is.na(landslide_trigger_consol)) %>%
count(landslide_trigger_consol, name = "ni") %>%
mutate(
hi = ni / sum(ni),
hi_porcentaje = hi * 100
)
TDFTrigger_total <- TDFTrigger %>%
add_row(
landslide_trigger_consol = "TOTAL",
ni = sum(TDFTrigger$ni),
hi = 1,
hi_porcentaje = 100
)
4. TABLA DE FRECUENCIAS
4.1 Tabla de frecuencias
tabla_frecuencias <- TDFTrigger_total %>%
mutate(
hi = round(hi, 4),
hi_porcentaje = round(hi_porcentaje, 2)
)
tabla_frecuencias
## # A tibble: 7 × 4
## landslide_trigger_consol ni hi hi_porcentaje
## <chr> <int> <dbl> <dbl>
## 1 Actividad geológica 90 0.0086 0.86
## 2 Desencadenante humano 186 0.0178 1.78
## 3 Estructuras 87 0.0083 0.83
## 4 Fenómenos de nieve/hielo 176 0.0168 1.68
## 5 Otros desencadenantes 1761 0.168 16.8
## 6 Precipitación 8149 0.780 78.0
## 7 TOTAL 10449 1 100
4.2 Presentación de la tabla
tabla_frecuencias %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 1**"),
subtitle = md("Distribución de frecuencias de los desencadenantes de deslizamientos a nivel mundial")
) %>%
cols_label(
landslide_trigger_consol = "Tipo de desencadenante",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa",
hi_porcentaje = "Frecuencia relativa (%)"
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 1 – Carrera de Geología")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = landslide_trigger_consol == "TOTAL")
)
| Tabla Nro. 1 |
| Distribución de frecuencias de los desencadenantes de deslizamientos a nivel mundial |
| Tipo de desencadenante |
Frecuencia absoluta (ni) |
Frecuencia relativa |
Frecuencia relativa (%) |
| Actividad geológica |
90 |
0.0086 |
0.86 |
| Desencadenante humano |
186 |
0.0178 |
1.78 |
| Estructuras |
87 |
0.0083 |
0.83 |
| Fenómenos de nieve/hielo |
176 |
0.0168 |
1.68 |
| Otros desencadenantes |
1761 |
0.1685 |
16.85 |
| Precipitación |
8149 |
0.7799 |
77.99 |
| TOTAL |
10449 |
1.0000 |
100.00 |
| Elaborado por: Grupo 1 – Carrera de Geología |
tabla_graficos <- TDFTrigger
5. GRÁFICAS
5.1 Diagrama de barras por defecto de la Frecuencia absoluta
(ni)
par(mar = c(10, 5, 4, 2))
max_ni <- max(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$landslide_trigger_consol,
col = "steelblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, max_ni),
yaxt = "n",
main = "Gráfica 1: Diagrama de barras por defecto de la \nFrecuencia absoluta (ni)",
xlab = "",
ylab = "Frecuencia absoluta (ni)",
cex.names = 0.75
)
ticks_y <- round(
seq(0, max_ni, length.out = 5),
0
)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
text(
x = pos_x,
y = tabla_graficos$ni,
labels = tabla_graficos$ni,
pos = 3,
font = 2,
cex = 0.8
)

5.2 Histograma extendido de la Frecuencia absoluta
(ni)
par(mar = c(10, 5, 4, 2))
N_total <- sum(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$landslide_trigger_consol,
col = "steelblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, N_total),
yaxt = "n",
main = "Gráfica 2: Diagrama de barras extendido de la \nFrecuencia absoluta (ni)",
xlab = "",
ylab = "Frecuencia absoluta (ni)",
cex.names = 0.75
)
ticks_y <- round(
seq(0, N_total, length.out = 6),
0
)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
abline(
h = N_total,
col = "red",
lty = 2,
lwd = 2
)
text(
x = pos_x,
y = tabla_graficos$ni,
labels = tabla_graficos$ni,
pos = 3,
font = 2,
cex = 0.8
)

5.3 Histograma por defecto de la Frecuencia relativa
(hi)
par(mar = c(10, 5, 4, 2))
max_hi <- max(tabla_graficos$hi_porcentaje)
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
names.arg = tabla_graficos$landslide_trigger_consol,
col = "skyblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, 70),
yaxt = "n",
main = "Gráfica 3: Diagrama de barras por defecto de \nla Frecuencia relativa (hi)",
xlab = "",
ylab = "Frecuencia relativa (%)",
cex.names = 0.75
)
ticks_y <- seq(0, 70, by = 10)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
text(
x = pos_x,
y = tabla_graficos$hi_porcentaje,
labels = round(tabla_graficos$hi_porcentaje,2),
pos = 3,
font = 2,
cex = 0.8
)

5.4 Histograma extendido de la Frecuencia relativa
(hi)
par(mar = c(10, 5, 4, 2))
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
names.arg = tabla_graficos$landslide_trigger_consol,
col = "skyblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0,100),
yaxt = "n",
main = "Gráfica 4: Diagrama de barras extendido de \nla Frecuencia relativa (hi)",
xlab = "",
ylab = "Frecuencia relativa (%)",
cex.names = 0.75
)
ticks_y <- seq(0,100,20)
axis(
side = 2,
at = ticks_y,
labels = ticks_y,
las = 1
)
abline(
h = 100,
col = "red",
lty = 2,
lwd = 2
)
text(
x = pos_x,
y = tabla_graficos$hi_porcentaje,
labels = round(tabla_graficos$hi_porcentaje,2),
pos = 3,
font = 2,
cex = 0.8
)

5.5 Diagrama circular
par(mar = c(5,4,4,8))
par(xpd = TRUE)
colores <- c(
"#1f78b4",
"#33a02c",
"#e31a1c",
"#ff7f00",
"#6a3d9a",
"#b15928"
)
pie(
tabla_graficos$hi_porcentaje,
labels = NA,
col = colores,
radius = 0.90,
main = "Gráfica 5: Distribución porcentual de los desencadenantes\n de deslizamientos(diagrama circular)"
)
legend(
x = 1.15,
y = 0,
legend = tabla_graficos$landslide_trigger_consol,
fill = colores,
bty = "n",
cex = 0.80
)

par(xpd = FALSE)
6. INDICADORES
6.1 Cálculo de indicadores
indice_moda <- which.max(tabla_graficos$ni)
moda_categoria <- tabla_graficos$landslide_trigger_consol[indice_moda]
moda_ni <- tabla_graficos$ni[indice_moda]
moda_hi <- round(tabla_graficos$hi_porcentaje[indice_moda], 2)
n <- sum(tabla_graficos$ni)
numero_categorias <- nrow(tabla_graficos)
categoria_menos_frecuente <-
tabla_graficos$landslide_trigger_consol[
which.min(tabla_graficos$ni)
]
6.2 Tabla resumen de indicadores
tabla_indicadores <- data.frame(
Indicador = c(
"Tamaño de la muestra",
"Número de categorías",
"Moda",
"Frecuencia absoluta de la moda",
"Frecuencia relativa de la moda (%)",
"Categoría menos frecuente"
),
Resultado = c(
n,
numero_categorias,
moda_categoria,
moda_ni,
moda_hi,
categoria_menos_frecuente
)
)
tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 2**"),
subtitle = md("Indicadores estadísticos de los desencadenantes de deslizamientos")
) %>%
cols_label(
Indicador = "Indicador",
Resultado = "Resultado"
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 1 – Carrera de Geología")
)
| Tabla Nro. 2 |
| Indicadores estadísticos de los desencadenantes de deslizamientos |
| Indicador |
Resultado |
| Tamaño de la muestra |
10449 |
| Número de categorías |
6 |
| Moda |
Precipitación |
| Frecuencia absoluta de la moda |
8149 |
| Frecuencia relativa de la moda (%) |
77.99 |
| Categoría menos frecuente |
Estructuras |
| Elaborado por: Grupo 1 – Carrera de Geología |
7. CONCLUSIÓN
El análisis estadístico de la variable desencadenante de
deslizamientos, al tratarse de una variable cualitativa
nominal, permitió identificar que el único indicador de tendencia
central aplicable es la moda. Del total de
10449 eventos analizados, agrupados en
6 categorías, el desencadenante más frecuente
corresponde a Precipitación, con 8149
registros, lo que representa el 77.99 % del total de
observaciones. Estos resultados evidencian que este tipo de
desencadenante constituye el principal factor asociado a la ocurrencia
de deslizamientos dentro del conjunto de datos analizado, aportando una
referencia para comprender la distribución de los factores detonantes a
escala mundial.