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

1. CARGA DE DATOS Y LIBRERÍAS

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`

2. EXTRAER LA VARIABLE

dia <- datos_nuevoartes$dia
dia <- dia[!is.na(dia)]
N_total <- length(dia)

3. CONTEO

La variable corresponde al día del mes en el que ocurrieron los deslizamientos registrados a nivel mundial.

Debido a que sus valores pueden variar entre 1 y 31 días, se establecieron 11 intervalos de clase con una amplitud aproximada de 3 días, permitiendo representar adecuadamente la distribución temporal de los eventos sin generar demasiadas categorías.

3.1 Parámetros de clasificación

N_total <- length(dia)
xmin <- 1
xmax <- 31
k <- 11
A <- 3
parametros <- data.frame(
  Observaciones = N_total,
  Minimo = xmin,
  Maximo = xmax,
  Clases = k,
  Amplitud = A
)
parametros
##   Observaciones Minimo Maximo Clases Amplitud
## 1         11033      1     31     11        3

3.2 Definición de clases

Li <- seq(1,31,by=3)

Ls <- c(seq(3,30,by=3),31)

clases_etiquetas <- c(
  "1 - 3","4 - 6","7 - 9","10 - 12",
  "13 - 15","16 - 18","19 - 21",
  "22 - 24","25 - 27","28 - 30","31"
)

MC <- (Li+Ls)/2

3.3 Cálculo de frecuencias

breaks <- c(Li,32)

histograma <- hist(
  dia,
  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)

4. TABLA DE FRECUENCIAS

4.1 Tabla de frecuencias simple

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
)

4.2 Tabla de presentación

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 del día de ocurrencia de 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 del día de ocurrencia de los deslizamientos a nivel mundial
Rango Li Ls MC ni hi (%)
NI
HI (%)
Ascendente Descendente Ascendente Descendente
1 - 3 1 3 2.00 983 8.91 983 11033 8.91 100.02
4 - 6 4 6 5.00 1180 10.70 2163 10050 19.61 91.11
7 - 9 7 9 8.00 1118 10.13 3281 8870 29.74 80.41
10 - 12 10 12 11.00 1104 10.01 4385 7752 39.75 70.28
13 - 15 13 15 14.00 1040 9.43 5425 6648 49.18 60.27
16 - 18 16 18 17.00 1271 11.52 6696 5608 60.70 50.84
19 - 21 19 21 20.00 1211 10.98 7907 4337 71.68 39.32
22 - 24 22 24 23.00 1030 9.34 8937 3126 81.02 28.34
25 - 27 25 27 26.00 995 9.02 9932 2096 90.04 19.00
28 - 30 28 30 29.00 931 8.44 10863 1101 98.48 9.98
31 31 31 31.00 170 1.54 11033 170 100.02 1.54
TOTAL


11033 100.00



Elaborado por: Grupo 1 – Carrera de Geología

5. GRÁFICAS

5.1 Distribución local de la hora de ocurrencia de los deslizamientos a nivel mundial

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 del día de ocurrencia de los\n deslizamientos 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("Día del mes",side=1,line=6)

text(pos_x,ni,labels=ni,pos=3,cex=.8,font=2)

5.2 Distribución global de la hora de ocurrencia de los deslizamientos a nivel mundial

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

barplot(
  ni,
  col="grey",
  border="black",
  space=0,
  las=1,
  ylim=c(0,N_total*1.10),
  yaxt="n",
  xaxt="n",
  main="Gráfica 20: Distribución global del día de ocurrencia de los\n deslizamientos a nivel mundial",
  xlab="",
  ylab="Cantidad"
)

ticks_global <- pretty(c(0,N_total))

axis(2,at=ticks_global,labels=ticks_global,las=1)

axis(1,at=pos_x,labels=clases_etiquetas,las=2,cex.axis=.75)

mtext("Día del mes",side=1,line=5)

abline(h=N_total,col="red",lty=2)

text(pos_x,ni,labels=ni,pos=3,cex=.8,font=2)

5.3 Distribución local porcentual de la hora de ocurrencia de los deslizamientos

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

max_hi <- max(hi)

barplot(
  hi,
  col="#CDB79E",
  border="black",
  space=0,
  ylim=c(0,max_hi*1.10),
  yaxt="n",
  xaxt="n",
  main="Gráfica 21: Distribución local porcentual del día de ocurrencia de los deslizamientos",
  xlab="",
  ylab="Porcentaje (%)"
)

ticks_hi <- pretty(c(0,max_hi))

axis(2,at=ticks_hi,labels=ticks_hi,las=1)

axis(1,at=pos_x,labels=clases_etiquetas,las=2,cex.axis=.75)

mtext("Día del mes",side=1,line=5)

text(pos_x,hi,labels=round(hi,2),pos=3,cex=.8,font=2)

5.4 Distribución global porcentual de la hora de ocurrencia de los deslizamientos

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 del día de ocurrencia\nde 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("Día del mes",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)

5.5 Diagrama de Caja (Boxplot)

par(mfrow=c(1,1),mar=c(5,4,4,2))

boxplot(
  dia,
  col="bisque",
  horizontal=TRUE,
  outline=TRUE,
  xlab="Día del mes",
  main="Gráfica 24: Diagrama de caja del día de ocurrencia\nde los deslizamientos"
)

5.6 Diagrama de Ojivas Combinadas

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 del día 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 día",
  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"
)

6. INDICADORES

6.1 Indicadores estadísticos

x_bar <- mean(dia)
Me <- median(dia)
Mo <- as.numeric(
  names(sort(table(dia),decreasing=TRUE)[1])
)
SD <- sd(dia)
CV <- (SD/x_bar)*100
As <- skewness(dia)
K <- kurtosis(dia)

6.2 Tabla de indicadores estadísticos

tabla_indicadores <- data.frame(
  Variable="Día",
  Min=min(dia),
  Max=max(dia),
  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 del día de ocurrencia de los deslizamientos")
  ) %>%
  fmt_number(
    columns=4:10,
    decimals=2
  ) %>%
  tab_source_note(
    source_note=md("Elaborado por: Grupo 1 – Carrera de Geología")
  )
tabla_indicadores_gt
Tabla N° 13
Indicadores estadísticos del día de ocurrencia de los deslizamientos
Variable Min Max Media Mediana Moda Desv..Est. CV.... Asimetría Curtosis
Día 1 31 15.53 16.00 6.00 8.55 55.04 0.03 −1.13
Elaborado por: Grupo 1 – Carrera de Geología

6.3 Detección de outliers

Q1 <- quantile(dia,0.25)

Q3 <- quantile(dia,0.75)

IQR_d <- Q3-Q1

lim_inf <- Q1-1.5*IQR_d

lim_sup <- Q3+1.5*IQR_d


outliers_vec <- dia[
  dia < lim_inf |
  dia > lim_sup
]

6.4 Tabla de outliers

tabla_outliers <- data.frame(
  Variable="Día",
  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 del día de ocurrencia de los deslizamientos")
  ) %>%
  fmt_number(
    columns=3:6,
    decimals=2
  ) %>%
  tab_source_note(
    source_note=md("Elaborado por: Grupo 1 – Carrera de Geología")
  )
tabla_outliers_gt
Tabla N° 14
Detección de valores atípicos del día de ocurrencia de los deslizamientos
Variable Outliers_Detectados Limite_Inferior Limite_Superior Q1 Q3
Día 0 −13.00 43.00 8.00 22.00
Elaborado por: Grupo 1 – Carrera de Geología

7. CONCLUSIÓN

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. Sin la presencia de valores atípicos, y por lo tanto, esta distribución resulta perjudicial, porque indica que los eventos pueden ocurrir cualquier día del mes.