library(readxl)
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(gt)
library(e1071)
datos_nuevoartes <- read_excel("datos_nuevoartes_.xlsx")
## New names:
## • `` -> `...34`
## • `` -> `...35`
hora <- datos_nuevoartes$hora
hora <- hora[!is.na(hora)]
N_total <- length(hora)
La variable hora corresponde a la hora de ocurrencia de los deslizamientos. Debido a que sus valores únicamente pueden variar entre 0 y 23 horas, se establecieron 12 intervalos de clase de amplitud 2 horas, lo que permite representar adecuadamente la distribución sin generar un número excesivo de barras.
N_total <- length(hora)
xmin <- 0
xmax <- 23
k <- 12
A <- 2
parametros <- data.frame(
Observaciones = N_total,
Minimo = xmin,
Maximo = xmax,
Clases = k,
Amplitud = A
)
parametros
## Observaciones Minimo Maximo Clases Amplitud
## 1 11033 0 23 12 2
Li <- seq(0,22,by=2)
Ls <- c(seq(2,22,by=2),23)
clases_etiquetas <- c(
"0 - 2","2 - 4","4 - 6","6 - 8",
"8 - 10","10 - 12","12 - 14","14 - 16",
"16 - 18","18 - 20","20 - 22","22 - 23"
)
MC <- (Li+Ls)/2
breaks <- c(Li,24)
histograma <- hist(
hora,
breaks=breaks,
include.lowest=TRUE,
right=FALSE,
plot=FALSE
)
ni <- histograma$counts
hi <- round(ni/sum(ni)*100,2)
Ni_asc <- cumsum(ni)
Ni_dsc <- rev(cumsum(rev(ni)))
Hi_asc <- round(cumsum(hi),2)
Hi_dsc <- round(rev(cumsum(rev(hi))),2)
TDF_final <- data.frame(
Clase = clases_etiquetas,
Li = Li,
Ls = Ls,
MC = MC,
ni = ni,
hi = hi,
Ni_asc = Ni_asc,
Ni_dsc = Ni_dsc,
Hi_asc = Hi_asc,
Hi_dsc = Hi_dsc
)
tabla_presentacion <- TDF_final %>%
rbind(
data.frame(
Clase = "TOTAL",
Li = NA,
Ls = NA,
MC = NA,
ni = sum(ni),
hi = 100,
Ni_asc = NA,
Ni_dsc = NA,
Hi_asc = NA,
Hi_dsc = NA
)
) %>%
gt() %>%
tab_header(
title = md("**Tabla N° 12**"),
subtitle = md("Distribución de frecuencias de la hora de ocurrencia de\n los deslizamientos a nivel mundial")
) %>%
fmt_number(
columns = c(MC, hi, Hi_asc, Hi_dsc),
decimals = 2
) %>%
sub_missing(
columns = everything(),
missing_text = ""
) %>%
cols_label(
Clase = "Rango",
Li = "Li",
Ls = "Ls",
MC = "MC",
ni = "ni",
hi = "hi (%)",
Ni_asc = "Ascendente",
Ni_dsc = "Descendente",
Hi_asc = "Ascendente",
Hi_dsc = "Descendente"
) %>%
tab_spanner(
label = "NI",
columns = c(Ni_asc, Ni_dsc)
) %>%
tab_spanner(
label = "HI (%)",
columns = c(Hi_asc, Hi_dsc)
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(rows = Clase == "TOTAL")
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 1 – Carrera de Geología")
)
tabla_presentacion
| Tabla N° 12 | |||||||||
| Distribución de frecuencias de la hora de ocurrencia de los deslizamientos a nivel mundial | |||||||||
| Rango | Li | Ls | MC | ni | hi (%) |
NI
|
HI (%)
|
||
|---|---|---|---|---|---|---|---|---|---|
| Ascendente | Descendente | Ascendente | Descendente | ||||||
| 0 - 2 | 0 | 2 | 1.00 | 229 | 2.08 | 229 | 11033 | 2.08 | 100.00 |
| 2 - 4 | 2 | 4 | 3.00 | 199 | 1.80 | 428 | 10804 | 3.88 | 97.92 |
| 4 - 6 | 4 | 6 | 5.00 | 212 | 1.92 | 640 | 10605 | 5.80 | 96.12 |
| 6 - 8 | 6 | 8 | 7.00 | 414 | 3.75 | 1054 | 10393 | 9.55 | 94.20 |
| 8 - 10 | 8 | 10 | 9.00 | 900 | 8.16 | 1954 | 9979 | 17.71 | 90.45 |
| 10 - 12 | 10 | 12 | 11.00 | 5590 | 50.67 | 7544 | 9079 | 68.38 | 82.29 |
| 12 - 14 | 12 | 14 | 13.00 | 537 | 4.87 | 8081 | 3489 | 73.25 | 31.62 |
| 14 - 16 | 14 | 16 | 15.00 | 837 | 7.59 | 8918 | 2952 | 80.84 | 26.75 |
| 16 - 18 | 16 | 18 | 17.00 | 456 | 4.13 | 9374 | 2115 | 84.97 | 19.16 |
| 18 - 20 | 18 | 20 | 19.00 | 596 | 5.40 | 9970 | 1659 | 90.37 | 15.03 |
| 20 - 22 | 20 | 22 | 21.00 | 373 | 3.38 | 10343 | 1063 | 93.75 | 9.63 |
| 22 - 23 | 22 | 23 | 22.50 | 690 | 6.25 | 11033 | 690 | 100.00 | 6.25 |
| TOTAL | 11033 | 100.00 | |||||||
| Elaborado por: Grupo 1 – Carrera de Geología | |||||||||
par(mar=c(8,5,4,2))
max_ni_real <- max(ni)
pos_x <- barplot(
ni,
col="grey",
border="black",
space=0,
las=1,
ylim=c(0,max_ni_real),
yaxt="n",
xaxt="n",
main="Gráfica 19: Distribución local de la hora de ocurrencia de los\ndeslizamientos a nivel mundial",
xlab="",
ylab="Cantidad"
)
ticks_y_ni <- pretty(c(0,max_ni_real))
axis(2,at=ticks_y_ni,labels=ticks_y_ni,las=1)
axis(1,at=pos_x,labels=clases_etiquetas,las=2,cex.axis=.75)
mtext("Hora del día",side=1,line=6)
text(pos_x,ni,labels=ni,pos=3,cex=.8,font=2)
par(mar=c(8,5,4,2))
n_max_global <- N_total
barplot(
ni,
col="grey",
border="black",
space=0,
las=1,
ylim=c(0,n_max_global*1.10),
yaxt="n",
xaxt="n",
main="Gráfica 20: Distribución global de la hora de ocurrencia de los\ndeslizamientos a nivel mundial",
xlab="",
ylab="Cantidad"
)
ticks_global <- pretty(c(0,n_max_global))
axis(2,at=ticks_global,labels=ticks_global,las=1)
axis(1,at=pos_x,labels=clases_etiquetas,las=2,cex.axis=.75)
mtext("Hora del día",side=1,line=5)
abline(h=N_total,col="red",lty=2)
text(pos_x,ni,labels=ni,pos=3,cex=.8,font=2)
par(mar=c(8,5,4,2))
max_hi <- max(hi)
barplot(
hi,
col="#CDB79E",
border="black",
space=0,
las=1,
ylim=c(0,max_hi*1.10),
yaxt="n",
xaxt="n",
main="Gráfica 21: Distribución local porcentual de la hora de ocurrencia\n de los deslizamientos",
xlab="",
ylab="Porcentaje (%)"
)
ticks_hi <- pretty(c(0,max_hi))
axis(2,at=ticks_hi,labels=round(ticks_hi,2),las=1)
axis(1,at=pos_x,labels=clases_etiquetas,las=2,cex.axis=.75)
mtext("Hora del día",side=1,line=5)
text(pos_x,hi,labels=round(hi,2),pos=3,cex=.8,font=2)
par(mar=c(8,5,4,2))
barplot(
hi,
col="#CDB79E",
border="black",
space=0,
las=1,
ylim=c(0,100),
yaxt="n",
xaxt="n",
main="Gráfica 22: Distribución global porcentual de la hora de ocurrencia\n de los deslizamientos",
xlab="",
ylab="Porcentaje (%)"
)
ticks_hi_global <- seq(0,100,20)
axis(2,at=ticks_hi_global,labels=paste0(ticks_hi_global,"%"),las=1)
axis(1,at=pos_x,labels=clases_etiquetas,las=2,cex.axis=.75)
mtext("Hora del día",side=1,line=6)
abline(h=100,col="blue",lty=2)
text(pos_x,hi,labels=round(hi,2),pos=3,cex=.8,font=2)
par(mfrow=c(1,1),mar=c(5,4,4,2))
boxplot(
hora,
col="bisque",
horizontal=TRUE,
outline=TRUE,
xlab="Hora del día",
main="Gráfica 24: Diagrama de caja de la hora de ocurrencia\nde los deslizamientos"
)
par(mar=c(8,5,4,11))
plot(
1:length(ni),
Ni_asc,
type="b",
pch=17,
col="black",
xaxt="n",
xlab="",
ylab="Frecuencia acumulada",
ylim=c(0,max(Ni_asc)),
main="Gráfica 25: Ojivas combinadas de la hora de ocurrencia"
)
lines(
1:length(ni),
Ni_dsc,
type="b",
pch=16,
col="blue"
)
axis(1,at=1:length(ni),labels=clases_etiquetas,las=2,cex.axis=.75)
mtext("Intervalos de hora",side=1,line=6)
legend(
"topright",
inset=c(-0.28,0),
xpd=TRUE,
legend=c("Ascendente","Descendente"),
col=c("black","blue"),
pch=c(17,16),
lty=1,
bty="n"
)
x_bar <- mean(hora)
Me <- median(hora)
Mo <- as.numeric(names(sort(table(hora), decreasing = TRUE)[1]))
SD <- sd(hora)
CV <- (SD/x_bar)*100
As <- skewness(hora)
K <- kurtosis(hora)
tabla_indicadores <- data.frame(
Variable = "Hora",
Min = min(hora),
Max = max(hora),
Media = x_bar,
Mediana = Me,
Moda = Mo,
`Desv. Est.` = SD,
`CV (%)` = CV,
Asimetría = As,
Curtosis = K
)
tabla_indicadores_gt <- tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N° 13**"),
subtitle = md("Indicadores estadísticos de la hora de ocurrencia de los deslizamientos")
) %>%
fmt_number(
columns = 4:10,
decimals = 2
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
)
tabla_indicadores_gt
| Tabla N° 13 | |||||||||
| Indicadores estadísticos de la hora de ocurrencia de los deslizamientos | |||||||||
| Variable | Min | Max | Media | Mediana | Moda | Desv..Est. | CV.... | Asimetría | Curtosis |
|---|---|---|---|---|---|---|---|---|---|
| Hora | 0 | 23 | 12.19 | 11.00 | 11.00 | 4.61 | 37.87 | 0.41 | 0.88 |
| Elaborado por: Grupo 2 – Carrera de Geología | |||||||||
Q1 <- quantile(hora,0.25)
Q3 <- quantile(hora,0.75)
IQR_h <- Q3-Q1
lim_inf <- Q1-1.5*IQR_h
lim_sup <- Q3+1.5*IQR_h
outliers_vec <- hora[
hora < lim_inf |
hora > lim_sup
]
tabla_outliers <- data.frame(
Variable = "Hora",
Outliers_Detectados = length(outliers_vec),
Limite_Inferior = lim_inf,
Limite_Superior = lim_sup,
Q1 = Q1,
Q3 = Q3
)
tabla_outliers_gt <- tabla_outliers %>%
gt() %>%
tab_header(
title = md("**Tabla N° 14**"),
subtitle = md("Detección de valores atípicos de la hora de ocurrencia de los deslizamientos")
) %>%
fmt_number(
columns = 3:6,
decimals = 2
) %>%
tab_source_note(
source_note = md("Elaborado por: Grupo 2 – Carrera de Geología")
)
tabla_outliers_gt
| Tabla N° 14 | |||||
| Detección de valores atípicos de la hora de ocurrencia de los deslizamientos | |||||
| Variable | Outliers_Detectados | Limite_Inferior | Limite_Superior | Q1 | Q3 |
|---|---|---|---|---|---|
| Hora | 2012 | 6.50 | 18.50 | 11.00 | 14.00 |
| Elaborado por: Grupo 2 – Carrera de Geología | |||||
La variable hora fluctúa entre 0 y 23, y sus valores giran entorno a la mediana que es 11, con una desviación estándar de 33.83, siendo un conjunto de datos muy heterogéneo. El conjunto de valores se concentra fuertemente en la parte media de la variable. Con la presencia de 2012 valores atípicos que van desde 0 hasta 6.50 y desde 18.50 hasta 23 horas. Por lo tanto, esta distribución resulta perjudicial porque indica que los eventos pueden ocurrir tanto en horas tempranas como nocturnas.