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

1. CARGA DE LIBRERÍAS Y DATOS

# Carga de 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)

# Cargar base de datos
datos_nuevoartes <- read_excel("datos_deslizamientos.xlsx")

2. EXTRAER LA VARIABLE

longitude <- datos_nuevoartes$longitude
longitude <- longitude[!is.na(longitude)]

3. CONTEO

n_long <- length(longitude)

n_long
## [1] 11033

3.1 Parámetros de clasificación

k_long <- 12

min_long <- min(longitude)
max_long <- max(longitude)

R_long <- max_long - min_long
A_real <- R_long / k_long

3.2 Ajuste de amplitud de clase

A_long <- ifelse(
  A_real <= 2, 2,
  ifelse(
    A_real <= 5, 5,
    ifelse(
      A_real <= 10, 10,
      ceiling(A_real / 10) * 10
    )
  )
)

3.3 Definición de clases

Li0 <- floor(min_long / A_long) * A_long

Li_long <- seq(Li0, by = A_long, length.out = k_long)
Ls_long <- Li_long + A_long

MC_long <- round((Li_long + Ls_long) / 2, 2)

3.4 Cálculo de frecuencias

ni_long <- numeric(k_long)

for (i in 1:k_long) {
  if (i < k_long) {
    ni_long[i] <- sum(longitude >= Li_long[i] & longitude < Ls_long[i])
  } else {
    ni_long[i] <- sum(longitude >= Li_long[i] & longitude <= max_long)
  }
}

hi_long <- round((ni_long / sum(ni_long)) * 100, 2)

Ni_asc_long <- cumsum(ni_long)
Ni_dsc_long <- rev(cumsum(rev(ni_long)))

Hi_asc_long <- round(cumsum(hi_long), 2)
Hi_dsc_long <- round(rev(cumsum(rev(hi_long))), 2)

4. TABLA DE FRECUENCIAS

4.1 Tabla de frecuencias

TDF_longitude <- data.frame(
  Li = Li_long,
  Ls = Ls_long,
  MC = MC_long,
  ni = ni_long,
  hi = hi_long,
  Ni_asc = Ni_asc_long,
  Ni_dsc = Ni_dsc_long,
  Hi_asc = Hi_asc_long,
  Hi_dsc = Hi_dsc_long
)

TDF_longitude <- rbind(
  TDF_longitude,
  data.frame(
    Li = "TOTAL",
    Ls = "",
    MC = "",
    ni = sum(ni_long),
    hi = 100,
    Ni_asc = "",
    Ni_dsc = "",
    Hi_asc = "",
    Hi_dsc = ""
  )
)

4.2 Presentación de la tabla

tabla_longitude <- TDF_longitude %>%
  gt() %>%
  fmt_number(columns = MC, decimals = 2) %>%
  tab_header(
    title = md("Tabla N° 1"),
    subtitle = md("Distribución de frecuencias de Longitude (12 clases)")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo Geología")
  ) %>%
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(rows = Li == "TOTAL")
  )

tabla_longitude
Tabla N° 1
Distribución de frecuencias de Longitude (12 clases)
Li Ls MC ni hi Ni_asc Ni_dsc Hi_asc Hi_dsc
-180 -150 -165 85 0.77 85 11033 0.77 100.02
-150 -120 -135 1893 17.16 1978 10948 17.93 99.25
-120 -90 -105 1221 11.07 3199 9055 29 82.09
-90 -60 -75 1526 13.83 4725 7834 42.83 71.02
-60 -30 -45 228 2.07 4953 6308 44.9 57.19
-30 0 -15 318 2.88 5271 6080 47.78 55.12
0 30 15 334 3.03 5605 5762 50.81 52.24
30 60 45 279 2.53 5884 5428 53.34 49.21
60 90 75 2034 18.44 7918 5149 71.78 46.68
90 120 105 1784 16.17 9702 3115 87.95 28.24
120 150 135 1083 9.82 10785 1331 97.77 12.07
150 180 165 248 2.25 11033 248 100.02 2.25
TOTAL 11033 100.00
Autor: Grupo Geología

5. GRÁFICAS

5.1 Histogramas

5.1.1 Distribución local de la longitud de los deslizamientos a nivel mundial (ni)

hist(
  longitude,
  breaks = c(Li_long, max(Ls_long)),
  right = FALSE,
  freq = TRUE,
  col = "grey",
  border = "black",
  main = "Distribución local de la longitud de los deslizamientos\n a nivel mundial (ni)",
  xlab = "Longitude (°)",
  ylab = "Frecuencia absoluta (ni)"
)

5.1.2 Distribución global de la longitud de los deslizamientos a nivel mundial (ni)

hist(
  longitude,
  breaks = c(Li_long, max(Ls_long)),
  right = FALSE,
  freq = TRUE,
  col = "grey",
  border = "black",
  ylim = c(0, sum(ni_long)),
  main = "Distribución global de la longitud de los deslizamientos\n a nivel mundial (ni)",
  xlab = "Longitude (°)",
  ylab = "Frecuencia absoluta acumulable"
)

5.1.3 Distribución local de la longitud de los deslizamientos a nivel mundial (hi)

hist(
  longitude,
  breaks = c(Li_long, max(Ls_long)),
  right = FALSE,
  freq = FALSE,
  col = "grey",
  border = "black",
  main = "Distribución local de la longitud de los deslizamientos\n a nivel mundial (hi)",
  xlab = "Longitude (°)",
  ylab = "Frecuencia relativa"
)

5.1.4 Distribución global de la longitud de los deslizamientos a nivel mundial (hi)

hist(
  longitude,
  breaks = c(Li_long, max(Ls_long)),
  right = FALSE,
  freq = FALSE,
  col = "grey",
  border = "black",
  ylim = c(0, max(hi_long) / 100 * 1.2),
  main = "Distribución global de la longitud de los deslizamientos\n a nivel mundial (hi)",
  xlab = "Longitude (°)",
  ylab = "Frecuencia relativa"
)

5.2 Ojivas

plot(
  Ls_long,
  Ni_asc_long,
  type = "o",
  pch = 19,
  col = "blue",
  ylim = c(0, max(Ni_asc_long)),
  main = "Ojiva combinada de Longitude",
  xlab = "Límites de clase (°)",
  ylab = "Frecuencia acumulada"
)

lines(
  Li_long,
  Ni_dsc_long,
  type = "o",
  pch = 17,
  col = "red"
)

legend(
  "right",
  legend = c("Ojiva ascendente (Ni ≤)", "Ojiva descendente (Ni ≥)"),
  col = c("blue", "red"),
  pch = c(19, 17),
  lty = 1,
  cex = 0.8,
  bty = "b"
)

5.3 Boxplot individual

boxplot(
  longitude,
  horizontal = TRUE,
  col = "grey",
  border = "black",
  main = "Diagrama de caja de Longitude",
  xlab = "Longitude (°)",
  outline = TRUE,
  pch = 19,
  outcol = "red"
)

5.4 Histograma con boxplot superpuesto

h <- hist(
  longitude,
  breaks = c(Li_long, max(Ls_long)),
  right = FALSE,
  plot = FALSE
)

plot(
  h,
  freq = TRUE,
  col = "grey",
  border = "black",
  main = "Histograma local (ni) con boxplot superpuesto",
  xlab = "Longitude (°)",
  ylab = "Frecuencia absoluta (ni)"
)
boxplot(
  longitude,
  horizontal = TRUE,
  add = TRUE,
  axes = FALSE,
  at = max(h$counts) * 0.45,     # posición vertical
  boxwex = max(h$counts) * 0.50, # altura de la caja
  col = rgb(0.45, 0.80, 1.00, 0.70),
  border = "black",
  outline = TRUE,
  pch = 19,
  outcol = "red"
)

6. INDICADORES ESTADÍSTICOS

6.1 Indicadores de posición

# Límites teóricos
ri <- -180
rs <- 180

# Media
media_long <- mean(longitude)

# Mediana
mediana_long <- median(longitude)

# Moda (redondeando a una cifra decimal)
moda_long <- as.numeric(
  names(which.max(table(round(longitude, 1))))
)

6.2 Indicadores de dispersión

# Rango
rango_long <- max(longitude) - min(longitude)

# Varianza
var_long <- var(longitude)

# Desviación estándar
sd_long <- sd(longitude)

# Coeficiente de variación (%)
CV_long <- (sd_long / abs(media_long)) * 100

6.3 Indicadores de forma

# Coeficiente de asimetría de Fisher
As_long <- mean((longitude - media_long)^3) / sd_long^3

# Exceso de curtosis de Fisher
K_long <- mean((longitude - media_long)^4) / sd_long^4 - 3

6.4 Tabla resumen de indicadores

TablaIndicadores_longitude <- data.frame(
  Variable = "Longitude",
  ri = ri,
  rs = rs,
  Media = round(media_long, 2),
  Mediana = round(mediana_long, 2),
  Moda = round(moda_long, 2),
  Rango = round(rango_long, 2),
  Varianza = round(var_long, 2),
  Desv_Estandar = round(sd_long, 2),
  CV = round(CV_long, 2),
  Asimetria = round(As_long, 2),
  Curtosis = round(K_long, 2)
)

tabla_longitude_indicadores <- TablaIndicadores_longitude %>%
  gt() %>%
  tab_header(
    title = md("Tabla N° 2"),
    subtitle = md("Resumen de indicadores estadísticos de la variable Longitude")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo Geología")
  )

tabla_longitude_indicadores
Tabla N° 2
Resumen de indicadores estadísticos de la variable Longitude
Variable ri rs Media Mediana Moda Rango Varianza Desv_Estandar CV Asimetria Curtosis
Longitude -180 180 2.52 19.69 -122.3 359.97 10182.5 100.91 4003.6 -0.06 -1.67
Autor: Grupo Geología

7. CONCLUSIÓN

La variable Longitude, medida en grados, presenta un rango de referencia comprendido entre −180° y 180°, con una media de 2.52° y una mediana de 19.69°, lo que indica que los valores se distribuyen alrededor del centro del sistema de coordenadas geográficas. La desviación estándar de 100.91° refleja una elevada dispersión de los datos, mientras que el coeficiente de variación de 4003.60 % evidencia una alta variabilidad, debido a que la media es muy cercana a cero. El coeficiente de asimetría de −0.06 indica que la distribución es prácticamente simétrica, sin un sesgo importante hacia valores positivos o negativos, y la curtosis de −1.67 muestra una distribución platicúrtica, caracterizada por una menor concentración de datos alrededor de la media y colas menos pronunciadas que una distribución normal. En conjunto, estos resultados evidencian que las longitudes de los deslizamientos se encuentran ampliamente distribuidas a lo largo del territorio analizado, lo que permite describir adecuadamente su ubicación espacial y constituye una base para posteriores análisis de distribución geográfica y evaluación de la ocurrencia de deslizamientos.