1. CARGA Y PREPARACIÓN DE LOS DATOS

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")

2.CONSOLIDACIÓN DE LAS CATEGORÍAS DE MOVIMIENTOS EN MASA

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. TABLA DE DISTRIBUCIÓN DE FRECUENCIAS

3.1. Cálculo de frecuencias

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)
  )

3.2. Tabla de frecuencias (salida básica)

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

3.3. Presentación de la tabla

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")

4. DIAGRAMAS DE BARRAS

4.1. Frecuencia Absoluta

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
)

4.2. Frecuencia Relativa

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
)

5. DIAGRAMA CIRCULAR

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)

6. INDICADORES ESTADÍSTICOS

6.1. 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 <- round(tabla_graficos$hi[indice_moda], 2)

6.2. Tabla resumen de indicadores

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

7. CONCLUSIÓN

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.