Variable cuantitativa continua
Brecha sísmica
Importamos el archivo “Earthquakes.csv” desde una ruta local y lo almacena en el objeto Earthquakes, usando espacios o tabulaciones como separador. Luego, la función str(Earthquakes) muestra la estructura del data frame, indicando tipos de datos y ejemplos de sus columnas.
Earthquakes <- read.csv("C:/Users/HP/Desktop/Proyecto Sismos de la India/Earthquakes.csv", sep=";")
str(Earthquakes)## 'data.frame': 17805 obs. of 22 variables:
## $ time : chr "2024-10-31T01:32:40.503Z" "2024-10-30T23:51:31.217Z" "2024-10-29T02:35:27.930Z" "2024-10-28T13:08:40.107Z" ...
## $ latitude : num 298.6 282.1 47.2 278.7 327.5 ...
## $ longitude : chr "92.247" "670.879" "962.377" "940.243" ...
## $ depth : num 10 10 42.1 36.3 10 ...
## $ mag : num 4.4 4.3 4.6 4.6 4 4.6 4.7 4.3 5.3 4.4 ...
## $ magType : chr "mb" "mb" "mb" "mb" ...
## $ nst : int 35 36 27 62 22 44 39 34 80 27 ...
## $ gap : num 89 195 91 98 79 170 169 105 65 140 ...
## $ dmin : num 6.45 9.37 0.87 6.69 6.64 ...
## $ rms : num 0.82 0.72 0.55 0.65 0.72 0.74 0.81 0.54 0.92 0.9 ...
## $ net : chr "us" "us" "us" "us" ...
## $ id : chr "us7000np4h" "us7000np47" "us7000nnqs" "us7000nnml" ...
## $ updated : chr "2024-10-31T01:54:50.040Z" "2024-10-31T00:07:19.040Z" "2024-10-29T03:36:02.040Z" "2024-10-29T04:19:35.951Z" ...
## $ place : chr "113 km ENE of Lhasa, China" "64 km NE of Khuzdar, Pakistan" "55 km S of Reuleuet, Indonesia" "35 km NNE of Ziro, India" ...
## $ type : chr "earthquake" "earthquake" "earthquake" "earthquake" ...
## $ horizontalError: num 7.45 12.2 5.1 8.9 9.39 ...
## $ depthError : num 1.88 1.99 8.27 7.33 1.98 ...
## $ magError : num 0.114 0.092 0.146 0.078 0.139 0.078 0.097 0.107 0.11 0.102 ...
## $ magNst : int 22 33 14 49 14 49 32 25 8 28 ...
## $ status : chr "reviewed" "reviewed" "reviewed" "reviewed" ...
## $ locationSource : chr "us" "us" "us" "us" ...
## $ magSource : chr "us" "us" "us" "us" ...
Calculamos el número recomendado de clases (intervalos) para una variable en un histograma o tabla de frecuencias usando la regla de Sturges.
## [1] 15.02679
Cálculo de rango, número de intervalos, amplitud, marca de clase,límites y frecuencia absoluta simple.
BrechaSismica <- Earthquakes$gap
valoresnulos <- is.na(BrechaSismica)
BrechaSismicaomitida <- na.omit(BrechaSismica)
min <- min(BrechaSismicaomitida)
max <- max(BrechaSismicaomitida)
R <- max - min
k <- 15
A <- R / k
Li <- seq(from = min, by = A, length.out = k)
Li <- round(Li, 2)
Ls <- Li + A
Ls <- round(Ls, 2)
MC <- round((Li + Ls) / 2, 2)
ni <- numeric(length(Li))
for (i in 1:length(Li)) {
ni[i] <- sum(BrechaSismicaomitida >= Li[i] & BrechaSismicaomitida < Ls[i])
}
ni[length(Li)] <- sum(BrechaSismicaomitida >= Li[length(Li)] &
BrechaSismicaomitida <= max)
sum(ni)## [1] 16839
Cálculo de frecuencia relativa simple (hi)
## [1] 2.78520102 8.67628719 12.01971614 14.91181187 15.70758359 8.70598017
## [7] 10.08967278 11.17049706 10.22626047 4.25797256 0.42757883 0.36225429
## [13] 0.36225429 0.22566661 0.07126314
## [1] 100
Frecuencia absoluta y relativa acumulada
Este código reconstruye el data frame TDFBrechaSismica y sirve para visualizar la tabla completa de frecuencias simples y relativas.
TDFBrechaSismica <- data.frame(Li, Ls, MC, ni, round(hi,2), Ni_asc, Hi_asc, Ni_dsc, Hi_dsc)
colnames(TDFBrechaSismica)[5] <- "hi"
print(TDFBrechaSismica)## Li Ls MC ni hi Ni_asc Hi_asc Ni_dsc Hi_dsc
## 1 9.00 30.92 19.96 469 2.79 469 2.79 16839 100.00
## 2 30.92 52.84 41.88 1461 8.68 1930 11.46 16370 97.21
## 3 52.84 74.76 63.80 2024 12.02 3954 23.48 14909 88.54
## 4 74.76 96.68 85.72 2511 14.91 6465 38.39 12885 76.52
## 5 96.68 118.60 107.64 2645 15.71 9110 54.10 10374 61.61
## 6 118.60 140.52 129.56 1466 8.71 10576 62.81 7729 45.90
## 7 140.52 162.44 151.48 1699 10.09 12275 72.90 6263 37.19
## 8 162.44 184.36 173.40 1881 11.17 14156 84.07 4564 27.10
## 9 184.36 206.28 195.32 1722 10.23 15878 94.29 2683 15.93
## 10 206.28 228.20 217.24 717 4.26 16595 98.55 961 5.71
## 11 228.20 250.12 239.16 72 0.43 16667 98.98 244 1.45
## 12 250.12 272.04 261.08 61 0.36 16728 99.34 172 1.02
## 13 272.04 293.96 283.00 61 0.36 16789 99.70 111 0.66
## 14 293.96 315.88 304.92 38 0.23 16827 99.93 50 0.30
## 15 315.88 337.80 326.84 12 0.07 16839 100.00 12 0.07
#TOTAL ni-hi
total_ni <- sum(ni)
total_hi <- 100
TDFBrechaSismicaCompleto <- rbind(TDFBrechaSismica, data.frame(
Li = "Total", Ls = " ", MC = " ",
ni = total_ni, hi = total_hi, Ni_asc = " ", Hi_asc = " ", Ni_dsc = " ", Hi_dsc = " "
))
library(gt)## Warning: package 'gt' was built under R version 4.4.3
## Warning: package 'dplyr' was built under R version 4.4.3
##
## 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
# Convertir todas las columnas a carácter para evitar conflictos
TDFBrechaSismicaCompleto[] <- lapply(TDFBrechaSismicaCompleto, as.character)
# Definir textos con códigos Unicode para tildes
title_text <- "Tabla Nro. 21"
subtitle_text <- "Tabla de distribuci\u00F3n de frecuencias simples y acumuladas de la brecha s\u00EDsmica en el Subcontinente Indio (2000-2024)"
source_note_text <- "Autor: Cristian P\u00E9rez"
# Crear la tabla
tabla_brechasismica <- TDFBrechaSismicaCompleto %>%
gt() %>%
tab_header(
title = title_text,
subtitle = subtitle_text
) %>%
tab_source_note(
source_note = source_note_text
) %>%
tab_options(
table.border.top.color = "black",
table.border.bottom.color = "black",
table.border.top.style = "solid",
table.border.bottom.style = "solid",
column_labels.border.top.color = "black",
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
row.striping.include_table_body = TRUE,
heading.border.bottom.color = "black",
heading.border.bottom.width = px(2),
table_body.hlines.color = "gray",
table_body.border.bottom.color = "black"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Li == "Total"
)
)
tabla_brechasismica| Tabla Nro. 21 | ||||||||
| Tabla de distribución de frecuencias simples y acumuladas de la brecha sísmica en el Subcontinente Indio (2000-2024) | ||||||||
| Li | Ls | MC | ni | hi | Ni_asc | Hi_asc | Ni_dsc | Hi_dsc |
|---|---|---|---|---|---|---|---|---|
| 9 | 30.92 | 19.96 | 469 | 2.79 | 469 | 2.79 | 16839 | 100 |
| 30.92 | 52.84 | 41.88 | 1461 | 8.68 | 1930 | 11.46 | 16370 | 97.21 |
| 52.84 | 74.76 | 63.8 | 2024 | 12.02 | 3954 | 23.48 | 14909 | 88.54 |
| 74.76 | 96.68 | 85.72 | 2511 | 14.91 | 6465 | 38.39 | 12885 | 76.52 |
| 96.68 | 118.6 | 107.64 | 2645 | 15.71 | 9110 | 54.1 | 10374 | 61.61 |
| 118.6 | 140.52 | 129.56 | 1466 | 8.71 | 10576 | 62.81 | 7729 | 45.9 |
| 140.52 | 162.44 | 151.48 | 1699 | 10.09 | 12275 | 72.9 | 6263 | 37.19 |
| 162.44 | 184.36 | 173.4 | 1881 | 11.17 | 14156 | 84.07 | 4564 | 27.1 |
| 184.36 | 206.28 | 195.32 | 1722 | 10.23 | 15878 | 94.29 | 2683 | 15.93 |
| 206.28 | 228.2 | 217.24 | 717 | 4.26 | 16595 | 98.55 | 961 | 5.71 |
| 228.2 | 250.12 | 239.16 | 72 | 0.43 | 16667 | 98.98 | 244 | 1.45 |
| 250.12 | 272.04 | 261.08 | 61 | 0.36 | 16728 | 99.34 | 172 | 1.02 |
| 272.04 | 293.96 | 283 | 61 | 0.36 | 16789 | 99.7 | 111 | 0.66 |
| 293.96 | 315.88 | 304.92 | 38 | 0.23 | 16827 | 99.93 | 50 | 0.3 |
| 315.88 | 337.8 | 326.84 | 12 | 0.07 | 16839 | 100 | 12 | 0.07 |
| Total | 16839 | 100 | ||||||
| Autor: Cristian Pérez | ||||||||
Este código genera histogramas que muestran cómo se distribuyen las frecuencias absolutas de la brecha sísmica, para analizar la concentración y variabilidad de los sismos en la región.
hist(
BrechaSismicaomitida,
breaks = seq(min, max, A),
main = "Gr\u00E1fica No63: Distribuci\u00F3n de Brecha s\u00EDsmica para los sismos registrados en la regi\u00F3n de la India",
xlab = "Brecha Sismica",
ylab = "Cantidad",
col = colores
)hist(
BrechaSismicaomitida,
breaks = seq(min, max, A),
main = "Gr\u00E1fica No64: Distribuci\u00F3n Global de Brecha s\u00EDsmica para los sismos registrados en la regi\u00F3n de la India",
xlab = "Brecha sismica",
ylab = "Cantidad",
col = colores,
ylim = c(0, 16839)
)El diagrama de caja permite identificar la dispersión, la mediana y los valores atípicos de un conjunto de datos.
boxplot(
BrechaSismicaomitida,
horizontal = TRUE,
main = "Gr\u00E1fica No67: Distribuci\u00F3n de la brecha s\u00EDsmica en los sismos registrados en la India",
xlab = "Brecha sismica",
col = colores
)Este código genera ojivas ascendente y descendente que permiten analizar el comportamiento acumulado y residual de la frecuencia absoluta, facilitando la interpretación de la distribución de los datos y la identificación de tendencias en variables continuas.
plot(
Ls, Ni_asc,
type = "o",
col = "blue",
main = "Gr\u00E1fica No68: Ojivas ascendentes y descendentes de Frecuencia absoluta para la Brecha s\u00EDsmica en la regi\u00F3n de la India",
xlab = "Brecha S\u00EDsmica", # <-- Unicode aquí también
ylab = "Frecuencia"
)
lines(Li, Ni_dsc, type = "o", col = "red")Mediana
## [1] 173.4
Media aritmética
## [1] 120.6196
Cálculo de la moda para datos agrupados
modal_index <- which.max(ni)
if (modal_index > 1 && modal_index < length(ni)) {
Li_modal <- Li[modal_index]
fi <- ni[modal_index]
fi_1 <- ni[modal_index - 1]
fi1 <- ni[modal_index + 1]
moda <- Li_modal + ((fi - fi_1) / ((2 * fi) - fi_1 - fi1)) * A
} else {
moda <- NA
warning("La moda no puede calcularse.")
}
moda## [1] 98.91708
Varianza
## [1] 3132.858
Desviación estándar
## [1] 55.97194
Coeficiente de variación
## [1] 46.40367
La variable brecha sísmica medida en grados, sus valores fluctúan desde 9 a 99.9, sus valores están en torno a su mediana con un valor de 173,4 , con una desviación estándar de 55.97. La acumulación de valores se encuentra en la parte alta, con una curtosis negativa. Por lo anteriormente mencionado, esto es medianamente beneficioso ya que, al tener una concentración menor de brechas sísmicas, desde el punto de vista geológico es útil para identificar zonas críticas donde la energía se está acumulando. Puede ser interpretada como una advertencia de acumulación de energía tectónica, y dar un punto beneficioso ya que, al tener valores menores de brecha sísmica, menores serán los valores de acumulación de energía y menor será un sismo futuro.