#**1. CARGA DE LIBRERÍA Y DATOS
library(gt)
library(dplyr)
##
## Adjuntando el paquete: '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(ggplot2)
datos <- read_excel("C:/Users/USUARIO/Downloads/datos_nuevoartes.xlsx")
#**2. 2. DEFINICIÓN DEL ORDEN DE LA VARIABLE ORDINAL
datos <- datos %>%
mutate(
landslide_size_ord = case_when(
landslide_size == "very_small" ~ "Muy pequeño",
landslide_size == "small" ~ "Pequeño",
landslide_size == "medium" ~ "Mediano",
landslide_size == "large" ~ "Grande",
landslide_size == "very_large" ~ "Muy grande",
landslide_size == "catastrophic" ~ "Catastrófico",
TRUE ~ NA_character_
),
landslide_size_ord = factor(
landslide_size_ord,
levels = c(
"Muy pequeño",
"Pequeño",
"Mediano",
"Grande",
"Muy grande",
"Catastrófico"
),
ordered = TRUE
)
)
#3. TABLA DE DISTRIBUCIÓN DE FRECUENCIA ##3.1 Cálculo de frecuencias
TDF_size <- datos %>%
filter(!is.na(landslide_size_ord)) %>%
count(landslide_size_ord, name = "ni") %>%
arrange(landslide_size_ord) %>%
mutate(
hi = (ni / sum(ni)) * 100,
Ni = cumsum(ni),
Hi = cumsum(hi)
)
##**3.2. Tabla de frecuencias
TDF_size_total <- TDF_size %>%
add_row(
landslide_size_ord = "TOTAL",
ni = sum(TDF_size$ni),
hi = sum(TDF_size$hi),
Ni = NA,
Hi = NA
)
TDF_size_total
## # A tibble: 6 × 5
## landslide_size_ord ni hi Ni Hi
## <chr> <int> <dbl> <int> <dbl>
## 1 Pequeño 2767 27.2 2767 27.2
## 2 Mediano 6551 64.4 9318 91.6
## 3 Grande 750 7.37 10068 99.0
## 4 Muy grande 102 1.00 10170 100.0
## 5 Catastrófico 3 0.0295 10173 100
## 6 TOTAL 10173 100 NA NA
#Aquí los decimales se muestran tal como resultan del cálculo.
##**3.3. Tabla de presentación
TDF_size_total %>%
mutate(
hi = round(hi, 2),
Hi = round(Hi, 2)
) %>%
gt() %>%
tab_header(
title = md("**Tabla N°3**"),
subtitle = md("Distribución de frecuencias del tamaño de los deslizamientos")
) %>%
cols_label(
landslide_size_ord = "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_ord == "TOTAL")
) %>%
tab_source_note(
source_note = md("Variable cualitativa ordinal. Elaborado por el autor.")
)
| Tabla N°3 | ||||
| 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 (%) |
|---|---|---|---|---|
| Pequeño | 2767 | 27.20 | 2767 | 27.20 |
| Mediano | 6551 | 64.40 | 9318 | 91.60 |
| Grande | 750 | 7.37 | 10068 | 98.97 |
| Muy grande | 102 | 1.00 | 10170 | 99.97 |
| Catastrófico | 3 | 0.03 | 10173 | 100.00 |
| TOTAL | 10173 | 100.00 | NA | NA |
| Variable cualitativa ordinal. Elaborado por el autor. | ||||
#4. DIAGRAMAS DE BARRAS ##4.1 Gráfica de frecuencias absolutas (ni)
ggplot(
TDF_size,
aes(x = landslide_size_ord, y = ni)
) +
geom_col(fill = "skyblue", color = "black") +
labs(
title = "Gráfica N°5: Distribución del tamaño de los deslizamientos",
x = "Tamaño del deslizamiento",
y = "Frecuencia absoluta (ni)"
) +
theme_minimal()
##5. DIAGRAMA CIRCULAR
ggplot(
TDF_size,
aes(x = "", y = hi, fill = landslide_size_ord)
) +
geom_col(width = 1, color = "white") +
coord_polar(theta = "y") +
geom_text(
aes(label = paste0(round(hi, 2), "%")),
position = position_stack(vjust = 0.5),
size = 4
) +
labs(
title = "Gráfica N°6: Distribución porcentual del tamaño de los deslizamientos",
fill = "Tamaño del deslizamiento"
) +
theme_void() +
theme(
legend.position = "right",
plot.margin = margin(10, 60, 10, 10)
)
##**INDICADORES ESTADÍSTICOS
# Moda
moda <- TDF_size %>%
filter(ni == max(ni)) %>%
pull(landslide_size_ord)
# Mediana ordinal
mediana <- TDF_size$landslide_size_ord[
which.min(abs(TDF_size$Hi - 50))
]
tabla_indicadores <- data.frame(
Indicador = c("Moda", "Mediana"),
Categoria = c(as.character(moda), as.character(mediana))
)
tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N°4**"),
subtitle = md("Indicadores estadísticos del tamaño del deslizamiento")
) %>%
cols_label(
Indicador = "Indicador estadístico",
Categoria = "Categoría resultante"
) %>%
tab_source_note(
source_note = md(
"Variable cualitativa ordinal.
La moda y la mediana son indicadores estadísticos aplicables."
)
)
| Tabla N°4 | |
| Indicadores estadísticos del tamaño del deslizamiento | |
| Indicador estadístico | Categoría resultante |
|---|---|
| Moda | Mediano |
| Mediana | Pequeño |
| Variable cualitativa ordinal. La moda y la mediana son indicadores estadísticos aplicables. | |
#’ ## 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. #’