Carga de datos y librerías Extraer la variable Conclusión

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

2. EXTRAER LA VARIABLE

variable <- datos$landslide_category

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 Distribución local de la categoría de deslizamientos a nivel mundial

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: Distribución local de la categoría de deslizamientos\na nivel mundial",
  xlab = "",
  ylab = "Cantidad",
  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 Distribución global de la categoría de deslizamientos a nivel mundial

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: Distribución global de la categoría de deslizamientos\nla a nivel mundial",
  xlab = "",
  ylab = "Cantidad",
  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 Distribución local en porcentaje de la categoría de deslizamientos a nivel mundial

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: Distribución local en porcentaje de la categoría de\n deslizamientos a nivel mundial",
  xlab = "",
  ylab = "Porcentaje (%)",
  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 Distribución global en porcentaje de la categoría de a nivel mundial

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: Distribución global en porcentaje de la categoría de \ndeslizamientos a nivel mundial ",
  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. Distribución porcentual de las categorías de\n deslizamientos a nivel mundial"
)

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

7. CONCLUSIÓN

El valor más frecuente de la variable categoría de deslizamiento es deslizamiento de tierra.