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")
3. CONTEO
3.1 Definición del orden de las categorías
orden_size <- c(
"small",
"medium",
"large",
"very_large"
)
datos <- datos %>%
mutate(
landslide_size = factor(
landslide_size,
levels = orden_size,
ordered = TRUE
)
)
3.2 Conteo de datos
variable <- datos$landslide_size
variable <- variable[!is.na(variable)]
N <- length(variable)
3.3 Cálculo de frecuencias
TDFSize <- datos %>%
filter(!is.na(landslide_size)) %>%
count(landslide_size, name = "ni") %>%
arrange(landslide_size) %>%
mutate(
hi = ni / sum(ni),
hi_porcentaje = hi * 100,
Ni = cumsum(ni),
Hi = cumsum(hi),
Hi_porcentaje = cumsum(hi_porcentaje)
)
TDFSize_total <- TDFSize %>%
add_row(
landslide_size = "TOTAL",
ni = sum(TDFSize$ni),
hi = 1,
hi_porcentaje = 100,
Ni = NA,
Hi = NA,
Hi_porcentaje = NA
)
4. TABLA DE FRECUENCIAS
4.1 Tabla de frecuencias
tabla_frecuencias <- TDFSize_total %>%
mutate(
hi = round(hi, 2),
hi_porcentaje = round(hi_porcentaje, 2),
Hi = round(Hi, 2),
Hi_porcentaje = round(Hi_porcentaje, 2)
)
tabla_frecuencias
## # A tibble: 5 × 7
## landslide_size ni hi hi_porcentaje Ni Hi Hi_porcentaje
## <chr> <int> <dbl> <dbl> <int> <dbl> <dbl>
## 1 small 2767 0.27 27.2 2767 0.27 27.2
## 2 medium 6551 0.64 64.4 9318 0.92 91.6
## 3 large 750 0.07 7.37 10068 0.99 99
## 4 very_large 102 0.01 1 10170 1 100
## 5 TOTAL 10170 1 100 NA NA NA
4.2 Presentación de la tabla
tabla_frecuencias %>%
gt() %>%
tab_header(
title = md("**Tabla Nro. 1**"),
subtitle = md("Distribución de frecuencias del tamaño de los deslizamientos a nivel mundial")
) %>%
cols_label(
landslide_size = "Tamaño del deslizamiento",
ni = "Frecuencia absoluta (ni)",
hi = "Frecuencia relativa",
hi_porcentaje = "Frecuencia relativa (%)",
Ni = "Frecuencia acumulada (Ni)",
Hi = "Frecuencia relativa acumulada",
Hi_porcentaje = "Frecuencia relativa acumulada (%)"
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 1 – Carrera de Geología")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = landslide_size == "TOTAL")
)
| Tabla Nro. 1 |
| Distribución de frecuencias del tamaño de los deslizamientos a nivel mundial |
| Tamaño del deslizamiento |
Frecuencia absoluta (ni) |
Frecuencia relativa |
Frecuencia relativa (%) |
Frecuencia acumulada (Ni) |
Frecuencia relativa acumulada |
Frecuencia relativa acumulada (%) |
| small |
2767 |
0.27 |
27.21 |
2767 |
0.27 |
27.21 |
| medium |
6551 |
0.64 |
64.41 |
9318 |
0.92 |
91.62 |
| large |
750 |
0.07 |
7.37 |
10068 |
0.99 |
99.00 |
| very_large |
102 |
0.01 |
1.00 |
10170 |
1.00 |
100.00 |
| TOTAL |
10170 |
1.00 |
100.00 |
NA |
NA |
NA |
| Elaborado por: Grupo 1 – Carrera de Geología |
5. GRÁFICAS
tabla_graficos <- TDFSize
5.1 Diagrama de barras por defecto de la Frecuencia absoluta
(ni)
par(mar = c(8,5,4,2))
max_ni <- max(tabla_graficos$ni)
pos_x <- barplot(
tabla_graficos$ni,
col = "#EEDFCC",
border = "black",
space = 0.2,
las = 1,
ylim = c(0,max_ni),
yaxt = "n",
main = "Gráfica 1: Diagrama de barras por defecto de \nla Frecuencia absoluta (ni)\ndel tamaño de los deslizamientos",
xlab = "Tamaño del deslizamiento",
ylab = "Frecuencia absoluta (ni)"
)
ticks_y <- round(
seq(0,max_ni,length.out=5),
0
)
axis(
side=2,
at=ticks_y,
labels=ticks_y,
las=1
)
axis(
side=1,
at=0:length(tabla_graficos$ni),
labels=c(as.character(tabla_graficos$landslide_size),"")
)
text(
pos_x,
tabla_graficos$ni,
labels=tabla_graficos$ni,
pos=3,
font=2,
cex=.8
)

5.2 Diagrama de barras extendido de la Frecuencia absoluta
(ni)
par(mar = c(8,5,4,2))
N_total <- sum(tabla_graficos$ni)
barplot(
tabla_graficos$ni,
col="#EEDFCC",
border="black",
space=0.2,
las=1,
ylim=c(0,N_total),
yaxt="n",
main="Gráfica 2: Diagrama de barras extendido de \nla Frecuencia absoluta (ni)\ndel tamaño de los deslizamientos",
xlab="Tamaño del deslizamiento",
ylab="Frecuencia absoluta (ni)"
)
ticks_y <- round(
seq(0,N_total,length.out=6),
0
)
axis(
side=2,
at=ticks_y,
labels=ticks_y,
las=1
)
axis(
side=1,
at=0:length(tabla_graficos$ni),
labels=c(as.character(tabla_graficos$landslide_size),"")
)
abline(
h=N_total,
col="red",
lty=2,
lwd=2
)
text(
pos_x,
tabla_graficos$ni,
labels=tabla_graficos$ni,
pos=3,
font=2,
cex=.8
)

5.3 Diagrama de barras por defecto de la Frecuencia relativa
(hi)
par(mar = c(8,5,4,2))
pos_x <- barplot(
tabla_graficos$hi_porcentaje,
col="#EEDFCC",
border="black",
space=0.2,
las=1,
ylim=c(0,70),
yaxt="n",
main="Gráfica 3: Histograma por defecto de \nla Frecuencia relativa (hi)\ndel tamaño de los deslizamientos",
xlab="Tamaño del deslizamiento",
ylab="Frecuencia relativa (%)"
)
ticks_y <- seq(0,70,10)
axis(
side=2,
at=ticks_y,
labels=ticks_y,
las=1
)
axis(
side=1,
at=0:length(tabla_graficos$ni),
labels=c(as.character(tabla_graficos$landslide_size),"")
)
text(
pos_x,
tabla_graficos$hi_porcentaje,
labels=round(tabla_graficos$hi_porcentaje,2),
pos=3,
font=2,
cex=.8
)

5.4 Diagrama de barras extendido de la Frecuencia relativa
(hi)
par(mar = c(8,5,4,2))
barplot(
tabla_graficos$hi_porcentaje,
col="#EEDFCC",
border="black",
space=0.2,
las=1,
ylim=c(0,100),
yaxt="n",
main="Gráfica 4: Histograma global de \nla Frecuencia relativa (hi)\ndel tamaño de los deslizamientos",
xlab="Tamaño del deslizamiento",
ylab="Frecuencia relativa (%)"
)
ticks_y <- seq(0,100,20)
axis(
side=2,
at=ticks_y,
labels=ticks_y,
las=1
)
axis(
side=1,
at=0:length(tabla_graficos$ni),
labels=c(as.character(tabla_graficos$landslide_size),"")
)
abline(
h=100,
col="red",
lty=2,
lwd=2
)
text(
pos_x,
tabla_graficos$hi_porcentaje,
labels=round(tabla_graficos$hi_porcentaje,2),
pos=3,
font=2,
cex=.8
)

5.5 Diagrama circular
par(mar=c(5,4,4,8))
par(xpd=TRUE)
colores <- c(
"#1f78b4",
"#33a02c",
"#ff7f00",
"#e31a1c"
)
pie(
tabla_graficos$hi_porcentaje,
labels=NA,
radius=0.90,
col=colores,
main="Gráfica 5: Distribución porcentual del tamaño de \nlos deslizamientos (diagrama circular)"
)
legend(
x=1.15,
y=0,
legend = paste0(
tabla_graficos$landslide_size,
" (", round(tabla_graficos$hi_porcentaje, 2), "%)"
),
fill = colores,
cex = 0.90,
bty = "n"
)

par(xpd=FALSE)