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_category_consol = case_when(
landslide_category %in% c("debris_flow", "earth_flow", "lahar") ~
"Flujos de suelo y rocas",
landslide_category %in% c("creep", "topple", "translational_slide") ~
"Deformación lenta del terreno",
landslide_category %in% c("complex", "other", "unknown") ~
"Movimientos complejos o no definidos",
landslide_category %in% c("riverbank_collapse", "snow_avalanche") ~
"Otros movimientos poco comunes",
landslide_category == "landslide" ~
"Deslizamiento de tierra",
landslide_category == "mudslide" ~
"Deslizamiento de lodo",
landslide_category == "rock_fall" ~
"Caída de rocas",
TRUE ~ landslide_category
)
)
3.2 Conteo de datos
variable <- datos$landslide_category_consol
variable <- variable[!is.na(variable)]
N <- length(variable)
3.3 Cálculo de frecuencias
TDFMovimientos <- datos %>%
filter(!is.na(landslide_category_consol)) %>%
count(landslide_category_consol, name = "ni") %>%
mutate(
hi = round(ni / sum(ni), 2),
hi_porcentaje = round(hi * 100, 2)
)
TDFMovimientos_total <- TDFMovimientos %>%
add_row(
landslide_category_consol = "TOTAL",
ni = sum(TDFMovimientos$ni),
hi = round(sum(TDFMovimientos$hi), 2),
hi_porcentaje = round(sum(TDFMovimientos$hi_porcentaje), 2)
)
4. TABLA DE FRECUENCIAS
4.1 Tabla de frecuencias
# Tabla de frecuencias
TDFMovimientos <- datos %>%
filter(!is.na(landslide_category_consol)) %>%
count(landslide_category_consol, name = "ni") %>%
mutate(
hi = ni / sum(ni),
hi_porcentaje = hi * 100
)
# Agregar fila TOTAL
TDFMovimientos_total <- TDFMovimientos %>%
add_row(
landslide_category_consol = "TOTAL",
ni = sum(TDFMovimientos$ni),
hi = 1,
hi_porcentaje = 100
)
4.2 Presentación de la tabla
tabla_presentacion <- TDFMovimientos_total %>%
gt() %>%
tab_header(
title = md("**Tabla N° 1**"),
subtitle = md("Distribución de frecuencias de las categorías de deslizamientos a nivel mundial")
) %>%
cols_label(
landslide_category_consol = "Tipo de movimiento en masa",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa",
hi_porcentaje = "Frecuencia relativa (%)"
) %>%
fmt_number(
columns = hi,
decimals = 4
) %>%
fmt_number(
columns = hi_porcentaje,
decimals = 2
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = landslide_category_consol == "TOTAL"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1 – Carrera de Geología")
)
tabla_presentacion
| Tabla N° 1 |
| Distribución de frecuencias de las categorías de deslizamientos a nivel mundial |
| Tipo de movimiento en masa |
Frecuencia absoluta (ni) |
Frecuencia relativa |
Frecuencia relativa (%) |
| Caída de rocas |
671 |
0.0608 |
6.08 |
| Deformación lenta del terreno |
15 |
0.0014 |
0.14 |
| Deslizamiento de lodo |
2100 |
0.1904 |
19.04 |
| Deslizamiento de tierra |
7648 |
0.6933 |
69.33 |
| Flujos de suelo y rocas |
208 |
0.0189 |
1.89 |
| Movimientos complejos o no definidos |
338 |
0.0306 |
3.06 |
| Otros movimientos poco comunes |
52 |
0.0047 |
0.47 |
| TOTAL |
11032 |
1.0000 |
100.00 |
| Autor: Grupo 1 – Carrera de Geología |
# Tabla para los gráficos (sin la fila TOTAL)
tabla_graficos <- TDFMovimientos
5. GRÁFICAS
5.1 Diagrama de barras por defecto de la Frecuencia absoluta
(ni)
par(mar = c(12, 5, 4, 2))
max_ni <- max(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$landslide_category_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 \nla frecuencia 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 Diagrama de barras extendido de la Frecuencia absoluta
(ni)
par(mar = c(12, 5, 4, 2))
N_total <- sum(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$landslide_category_consol,
col = "steelblue",
border = "black",
space = 0.2,
las = 2,
ylim = c(0, N_total),
yaxt = "n",
main = "Gráfica 2: Diagrama de barras por defecto de \nla frecuencia 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 Diagrama de barras por defecto de la Frecuencia relativa
(hi)
par(mar = c(12, 5, 4, 2))
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
names.arg = tabla_graficos$landslide_category_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.70
)
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 Diagrama de barras extendido de la Frecuencia relativa
(hi)
par(mar = c(12, 5, 4, 2))
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
names.arg = tabla_graficos$landslide_category_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, by = 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, 5, 7), xpd = TRUE)
colores <- c(
"#1f78b4",
"#33a02c",
"#e31a1c",
"#ff7f00",
"#6a3d9a",
"#b15928",
"#a6cee3"
)
pie(
tabla_graficos$hi_porcentaje,
labels = NA,
col = colores,
radius = 0.80,
main = "Gráfica 5\nDistribución porcentual de las categorías de deslizamientos"
)
legend(
x = 0.80,
y = 0,
legend = paste0(
tabla_graficos$landslide_category_consol,
" (", round(tabla_graficos$hi_porcentaje, 2), "%)"
),
fill = colores,
cex = 0.70,
bty = "n"
)

par(xpd = FALSE)
6. INDICADORES
6.1 Indicadores estadísticos
# Moda
indice_moda <- which.max(tabla_graficos$ni)
moda_categoria <- tabla_graficos$landslide_category_consol[indice_moda]
moda_ni <- tabla_graficos$ni[indice_moda]
moda_hi <- tabla_graficos$hi_porcentaje[indice_moda]
# Indicadores generales
n <- sum(tabla_graficos$ni)
numero_categorias <- nrow(tabla_graficos)
categoria_menos_frecuente <-
tabla_graficos$landslide_category_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,
round(moda_hi,2),
categoria_menos_frecuente
)
)
tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N° 2**"),
subtitle = md("Indicadores estadísticos de la variable Categoría de deslizamiento")
) %>%
cols_label(
Indicador = "Indicador",
Resultado = "Resultado"
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1 – Carrera de Geología")
)
| Tabla N° 2 |
| Indicadores estadísticos de la variable Categoría de deslizamiento |
| Indicador |
Resultado |
| Tamaño de la muestra |
11032 |
| Número de categorías |
7 |
| Moda |
Deslizamiento de tierra |
| Frecuencia absoluta de la moda |
7648 |
| Frecuencia relativa de la moda (%) |
69.33 |
| Categoría menos frecuente |
Deformación lenta del terreno |
| Autor: Grupo 1 – Carrera de Geología |