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)
# Lectura del archivo Excel
datos <- read_excel("datos_nuevoartes.xlsx")
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
)
)
TDFMovimientos <- datos %>%
filter(!is.na(landslide_category_consol)) %>%
count(landslide_category_consol, name = "ni") %>%
mutate(
hi = (ni / sum(ni)) * 100
)
TDFMovimientos_total <- TDFMovimientos %>%
add_row(
landslide_category_consol = "Total",
ni = sum(TDFMovimientos$ni),
hi = sum(TDFMovimientos$hi)
)
TDFMovimientos_total
## # A tibble: 8 × 3
## landslide_category_consol ni hi
## <chr> <int> <dbl>
## 1 Caída de rocas 671 6.08
## 2 Deformación lenta del terreno 15 0.136
## 3 Deslizamiento de lodo 2100 19.0
## 4 Deslizamiento de tierra 7648 69.3
## 5 Flujos de suelo y rocas 208 1.89
## 6 Movimientos complejos o no definidos 338 3.06
## 7 Otros movimientos poco comunes 52 0.471
## 8 Total 11032 100
tabla_presentacion <- TDFMovimientos_total %>%
mutate(
hi = round(hi, 2)
)
tabla_presentacion %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 1**"),
subtitle = md("Distribución de frecuencias de los tipos de movimientos en masa")
) %>%
cols_label(
landslide_category_consol = "Tipo de movimiento en masa",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa (%)"
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = landslide_category_consol == "Total")
)
| Tabla Nro. 1 | ||
| Distribución de frecuencias de los tipos de movimientos en masa | ||
| Tipo de movimiento en masa | Frecuencia absoluta (ni) | Frecuencia relativa (%) |
|---|---|---|
| Caída de rocas | 671 | 6.08 |
| Deformación lenta del terreno | 15 | 0.14 |
| Deslizamiento de lodo | 2100 | 19.04 |
| Deslizamiento de tierra | 7648 | 69.33 |
| Flujos de suelo y rocas | 208 | 1.89 |
| Movimientos complejos o no definidos | 338 | 3.06 |
| Otros movimientos poco comunes | 52 | 0.47 |
| Total | 11032 | 100.00 |
| Elaborado por: Grupo 2 – Carrera de Geología | ||
tabla_graficos <- tabla_presentacion %>%
filter(landslide_category_consol != "Total")
par(mar = c(8, 5, 4, 2))
barplot(
tabla_graficos$ni,
names.arg = tabla_graficos$landslide_category_consol,
las = 2,
col = "steelblue",
main = "Gráfica 1: Frecuencia absoluta de los movimientos en masa",
ylab = "Frecuencia absoluta (ni)",
xlab = "",
cex.names = 0.75,
cex.axis = 0.9
)
par(mar = c(8, 5, 4, 2))
barplot(
tabla_graficos$hi,
names.arg = tabla_graficos$landslide_category_consol,
las = 2,
col = "skyblue",
main = "Gráfica 2: Frecuencia relativa de los movimientos en masa",
ylab = "Frecuencia relativa (%)",
xlab = "",
ylim = c(0, max(tabla_graficos$hi) + 5),
cex.names = 0.75,
cex.axis = 0.9
)
par(mar = c(5, 4, 4, 10), xpd = TRUE)
colores <- c(
"#1f78b4", "#33a02c", "#e31a1c",
"#ff7f00", "#6a3d9a", "#b15928", "#a6cee3"
)
pie(
tabla_graficos$hi,
labels = NA, # ← evita encimados
col = colores,
main = "Gráfica 3: Distribución porcentual de los movimientos en masa"
)
legend(
x = 1.25,
y = 0,
legend = paste0(
tabla_graficos$landslide_category_consol,
" (", round(tabla_graficos$hi, 1), "%)"
),
fill = colores,
cex = 0.8,
bty = "n"
)
par(xpd = FALSE)
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 <- round(tabla_graficos$hi[indice_moda], 2)
tabla_resumen <- data.frame(
Variable = "Tipo de movimiento en masa",
Indicador = "Moda",
Resultado = paste0(moda_categoria,
" (", moda_ni, " eventos, ",
moda_hi, "%)")
)
tabla_resumen %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 2**"),
subtitle = md("Resumen de indicadores estadísticos de la variable nominal")
) %>%
cols_label(
Variable = "Variable analizada",
Indicador = "Indicador estadístico",
Resultado = "Resultado"
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
) %>%
opt_all_caps() %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body()
)
| Tabla Nro. 2 | ||
| Resumen de indicadores estadísticos de la variable nominal | ||
| Variable analizada | Indicador estadístico | Resultado |
|---|---|---|
| Tipo de movimiento en masa | Moda | Deslizamiento de tierra (7648 eventos, 69.33%) |
| Elaborado por: Grupo 2 – Carrera de Geología | ||
El análisis estadístico de los tipos de movimientos en masa, al tratarse de una variable cualitativa nominal, permitió identificar que el único indicador de tendencia central aplicable es la moda. Los resultados evidencian que el tipo de movimiento más frecuente corresponde a r moda_categoria, lo cual refleja su mayor recurrencia dentro del conjunto de eventos analizados.