1. CARGA DE LIBRERÍAS Y 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)

# Carga del archivo Excel (previamente subido al entorno)

datos <- read_excel("datos_nuevoartes.xlsx")

2. DEFINICIÓN DEL ORDEN DE LA VARIABLE ORDINAL

orden_size <- c("small", "medium", "large", "very_large")

datos <- datos %>%
mutate(
landslide_size = factor(
landslide_size,
levels = orden_size,
ordered = TRUE
)
)

3. TABLA DE DISTRIBUCIÓN DE FRECUENCIA

3.1. Cálculo de frecuencias

TDFSize <- datos %>%
filter(!is.na(landslide_size)) %>%
count(landslide_size, name = "ni") %>%
arrange(landslide_size) %>%
mutate(
hi = (ni / sum(ni)) * 100,
Ni = cumsum(ni),
Hi = cumsum(hi)
)

3.2. Tabla de frecuencias (Salida básica)

TDFSize_total <- TDFSize %>%
add_row(
landslide_size = "Total",
ni = sum(TDFSize$ni),
hi = sum(TDFSize$hi),
Ni = NA,
Hi = NA
)

TDFSize_total
## # A tibble: 5 × 5
##   landslide_size    ni     hi    Ni    Hi
##   <chr>          <int>  <dbl> <int> <dbl>
## 1 small           2767  27.2   2767  27.2
## 2 medium          6551  64.4   9318  91.6
## 3 large            750   7.37 10068  99.0
## 4 very_large       102   1.00 10170 100  
## 5 Total          10170 100       NA  NA

3.3. Tabla de presentación

tabla_presentacion <- TDFSize_total %>%
mutate(
hi = round(hi, 2),
Hi = round(Hi, 2)
)

tabla_presentacion %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 1**"),
subtitle = md("Distribución de frecuencias del tamaño de los deslizamientos")
) %>%
cols_label(
landslide_size = "Tamaño del deslizamiento",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa (%)",
Ni = "Frecuencia acumulada (Ni)",
Hi = "Frecuencia relativa acumulada (%)"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = landslide_size == "Total")
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
)
Tabla Nro. 1
Distribución de frecuencias del tamaño de los deslizamientos
Tamaño del deslizamiento Frecuencia absoluta (ni) Frecuencia relativa (%) Frecuencia acumulada (Ni) Frecuencia relativa acumulada (%)
small 2767 27.21 2767 27.21
medium 6551 64.41 9318 91.62
large 750 7.37 10068 99.00
very_large 102 1.00 10170 100.00
Total 10170 100.00 NA NA
Elaborado por: Grupo 2 – Carrera de Geología

4. DIAGRAMAS DE BARRAS

categorias <- tabla_presentacion$landslide_size[-nrow(tabla_presentacion)]
ni <- tabla_presentacion$ni[-nrow(tabla_presentacion)]
hi <- tabla_presentacion$hi[-nrow(tabla_presentacion)]

4.1. Frecuencia absoluta

par(mar = c(9, 5, 4, 2))

barplot(
ni,
names.arg = categorias,
las = 1,
col = "steelblue",
main = "Gráfica 1: Frecuencia absoluta del tamaño de los deslizamientos",
ylab = "Frecuencia absoluta (ni)",
xlab = "Tamaño del deslizamiento"
)

4.2. Frecuencia relativa

barplot(
hi,
names.arg = categorias,
las = 1,
col = "skyblue",
main = "Gráfica 2: Frecuencia relativa del tamaño de los deslizamientos",
ylab = "Frecuencia relativa (%)",
xlab = "Tamaño del deslizamiento",
ylim = c(0, 100)
)

5. DIAGRAMA CIRCULAR

par(mar = c(5, 4, 4, 10))
par(xpd = TRUE)

hi_red <- round(hi, 2)
colores <- c("#1f78b4", "#33a02c", "#ff7f00", "#e31a1c")

pie(
hi_red,
labels = paste0(hi_red, " %"),
main = "Gráfica 3: Distribución porcentual del tamaño de los deslizamientos",
col = colores
)

legend(
x = 1.3,
y = 0,
legend = categorias,
fill = colores,
bty = "n",
cex = 0.9
)

par(xpd = FALSE)

6. INDICADORES ESTADÍSTICOS

6.1. Moda y Mediana

# Moda
indice_moda <- which.max(TDFSize$ni)
moda <- TDFSize$landslide_size[indice_moda]

# Mediana ordinal

mediana <- categorias[which.min(abs(TDFSize$Hi - 50))]

6.2. Tabla de indicadores

tabla_indicadores <- data.frame(
Indicador = c("Moda", "Mediana"),
Resultado = c(as.character(moda), as.character(mediana))
)

tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 2**"),
subtitle = md("Indicadores estadísticos del tamaño de los deslizamientos")
) %>%
cols_label(
Indicador = "Indicador estadístico",
Resultado = "Categoría resultante"
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body()
)
Tabla Nro. 2
Indicadores estadísticos del tamaño de los deslizamientos
Indicador estadístico Categoría resultante
Moda medium
Mediana small
Elaborado por: Grupo 2 – Carrera de Geología

7. CONCLUSIÓN

La variable tamaño del deslizamiento corresponde a una variable cualitativa de tipo ordinal, lo que permite el uso de indicadores estadísticos como la moda y la mediana. El análisis realizado evidencia cuál es el tamaño más frecuente de los eventos registrados, así como la categoría central de la distribución acumulada, proporcionando una visión clara de la magnitud predominante de los deslizamientos dentro del conjunto de datos analizado.