Variable Cuantitativa Discreta

Magnitud

La magnitud, según la escala de Richter, es una medida logarítmica que indica la energía liberada por un sismo.

1 Cargar datos

Importamos el archivo “magnitud_agrp.csv” desde una ruta local y lo almacena en el objeto Magnitud, usando espacios o tabulaciones como separador. Luego, la función str() muestra la estructura del data frame.

TDFmagnitud<-read.csv("C:/Users/Public/Documents/Estadistica2/R/9462996/magnitud_agrp.csv",header = TRUE)
TDFmagnitud

2 Tabla de Distribución de Frecuencias Simples y Acumuladas

Calculamos las Frecuencias Simple (absoluta (ni) y relativa (hi))

ni<-TDFmagnitud$frecuencia
ni
## [1]  1264 14880  1586    64    10     1
sum(ni)
## [1] 17805
hi<-ni/sum(ni)*100
sum(hi)
## [1] 100

Calculamos las Frecuencias Acumuladas (absoluta (Niasc-dsc) y relativa (Hiasc-dsc))

Ni_asc<-cumsum(ni)
Ni_asc
## [1]  1264 16144 17730 17794 17804 17805
Ni_dsc<-rev(cumsum(rev(ni)))
Ni_dsc
## [1] 17805 16541  1661    75    11     1
Hi_asc<-round(cumsum(hi),4)
Hi_asc
## [1]   7.0991  90.6712  99.5788  99.9382  99.9944 100.0000
Hi_dsc<-round(rev(cumsum(rev(hi))),4)
Hi_dsc
## [1] 100.0000  92.9009   9.3288   0.4212   0.0618   0.0056

Asignamos la variable y las frecuencias a una tabla con un data.frame

Magnitud<-TDFmagnitud$magAgrupada

TDFMagnitudFin<-data.frame(Magnitud, ni, hi,Ni_asc, Ni_dsc, Hi_asc, Hi_dsc )
TDFMagnitudFin

Agregamos los totales de ni y hi a una nueva tabla con rbind()

total_ni <- sum(ni)
total_hi <- 100  #Dado que los porcentajes de frecuencia relativa ya suman 100"

# Agregar fila 'Total' a la tabla de frecuencia de tipo de magnitud
TDFMagnitudCompleto<-rbind(TDFMagnitudFin, data.frame(Magnitud= "Total", 
                                                   ni = total_ni, hi = total_hi,  
                              Ni_asc = " ",  Ni_dsc = " ",  Hi_asc = " ",  Hi_dsc = " "))
print(TDFMagnitudCompleto)
##    Magnitud    ni          hi Ni_asc Ni_dsc  Hi_asc  Hi_dsc
## 1 2.6 - 3.8  1264   7.0991295   1264  17805  7.0991     100
## 2   3.8 - 5 14880  83.5720303  16144  16541 90.6712 92.9009
## 3   5 - 6.2  1586   8.9076102  17730   1661 99.5788  9.3288
## 4 6.2 - 7.4    64   0.3594496  17794     75 99.9382  0.4212
## 5 7.4 - 8.6    10   0.0561640  17804     11 99.9944  0.0618
## 6 8.6 - 9.8     1   0.0056164  17805      1     100  0.0056
## 7     Total 17805 100.0000000

Mediante la library(gt) construimos una tabla completa y detallada para una mejor visualización

library(gt)
## Warning: package 'gt' was built under R version 4.4.3
library(dplyr)
## 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
# Crear Tabla completa
tabla_Magnitud<- TDFMagnitudCompleto %>%
  gt() %>%
  tab_header(
    title = md("**Tabla Nro. 5**"),
    subtitle = md("**Tabla de Distribución de Frecuencias Simples y Acumuladas
                  de la Magnitud de Sismos ocurridos en el Subcontinente Indio 
                  (2000-2024)**")
  ) %>%
  tab_source_note(
    source_note = md("*Autor: Grupo 1*")
  ) %>%
  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"
  )  %>%
  # Estilo en negrita para la fila con Total
  tab_style(
    style = cell_text(weight = "bold"),
    locations = cells_body(
      rows = Magnitud== "Total"
    )
  ) 

tabla_Magnitud
Tabla Nro. 5
Tabla de Distribución de Frecuencias Simples y Acumuladas de la Magnitud de Sismos ocurridos en el Subcontinente Indio (2000-2024)
Magnitud ni hi Ni_asc Ni_dsc Hi_asc Hi_dsc
2.6 - 3.8 1264 7.0991295 1264 17805 7.0991 100
3.8 - 5 14880 83.5720303 16144 16541 90.6712 92.9009
5 - 6.2 1586 8.9076102 17730 1661 99.5788 9.3288
6.2 - 7.4 64 0.3594496 17794 75 99.9382 0.4212
7.4 - 8.6 10 0.0561640 17804 11 99.9944 0.0618
8.6 - 9.8 1 0.0056164 17805 1 100 0.0056
Total 17805 100.0000000
Autor: Grupo 1

3 Gráficas

3.1 Diagrama de barras

Generamos diagramas de barras tanto local como global para las frecuencias absolutas para visualizar el conteo de ocurrencias de los valores de la variable.

#DIAGRAMA DE BARRAS LOCAL ni
barplot(TDFMagnitudFin$ni, main = "Gráfica Nº16: Frecuencia de la Magnitud
        de los Sismos del Subcontinente Indio (Local)",
        xlab="Magnitud", ylab="Cantidad", names.arg = TDFMagnitudFin$Magnitud,
        las=2, col="grey")

#DIAGRAMA DE BARRAS GLOBAL ni
barplot(TDFMagnitudFin$ni, main = "Gráfica Nº17: Frecuencia de la Magnitud
        de los Sismos del Subcontinente Indio (Global)",xlab="Magnitud", ylab="Cantidad", 
        names.arg = TDFMagnitudFin$Magnitud, las=2, col="grey", 
        ylim=c(0,17805))

Creamos diagramas de barras tanto local como global para las frecuencias relativaspara visualizar el porcentaje de ocurrencias de los valores

#DIAGRAMA DE BARRAS LOCAL hi
barplot(TDFMagnitudFin$hi, main = "Gráfica Nº18: Porcentaje de la Magnitud
        de los Sismos del Subcontinente Indio (Local)", xlab="Magnitud", ylab="Porcentaje(%)", 
        names.arg = TDFMagnitudFin$Magnitud, las=2, col="grey")

#DIAGRAMA DE BARRAS GLOBAL hi
barplot(TDFMagnitudFin$hi, main = "Gráfica Nº19:  Porcentaje de Magnitud
        de los Sismos del Subcontinente Indio (Global)",
        xlab="Magnitud", ylab="Porcentaje(%)", names.arg = TDFMagnitudFin$Magnitud, las=2, col="grey", 
        ylim=c(0,100))

3.2 Ojivas

Adicionalmente, generamos las ojivas que nos representa las frecuencias acumuladasy, de igual manera, el intercepto de las gráficas de la ojiva ascendente y la descendente representa la mediana en el eje horizontal.

Ojivas para las frecuencias absolutas acumuladas

#Graficar la ojiva Niasc-dsc 
plot(x=1:length(TDFMagnitudFin$Magnitud), y=TDFMagnitudFin$Ni_asc, type="p",
     col="red", xlab="Magnitud", ylab="Frecuencia", 
     main ="Gráfica Nº20: Ojivas combinadas de la Magnitud de los Sismos del
     Subcontinente Indio", xaxt="n")

axis(side=1, at=1:length(TDFMagnitudFin$Magnitud), labels=TDFMagnitudFin$Magnitud, 
     las=2)
points(x=1:length(TDFMagnitudFin$Magnitud), y=TDFMagnitudFin$Ni_dsc, type="p",
       col="blue")
legend("topright", legend = c("Ojiva descendente", "Ojiva ascendente"),cex = 0.6,inset = c(0.02, 0.08),
col = c("blue", "red"), pch = 1)

Ojivas para las frecuencias relativas acumuladas

#Graficar la ojiva ascendente (Hi_asc/dsc) 
plot(x=1:length(TDFMagnitudFin$Magnitud), y=TDFMagnitudFin$Hi_asc, type="p",
     col="red", xlab="Magnitud", ylab="Frecuencia", 
     main ="Gráfica Nº21: Ojivas combinadas de la Magnitud de los Sismos del
     Subcontinente Indio", xaxt="n")

axis(side=1, at=1:length(TDFMagnitudFin$Magnitud), labels=TDFMagnitudFin$Magnitud, las=2)
points(x=1:length(TDFMagnitudFin$Magnitud), y=TDFMagnitudFin$Hi_dsc, type="p",col="blue")
legend("topright", legend = c("Ojiva descendente", "Ojiva ascendente"),cex = 0.6,inset = c(0.02, 0.08),
col = c("blue", "red"), pch = 1)

3.4 Diagrama de caja y bigotes

Generamos el diagrama de caja para la representación de los cuartiles de la variable, donde el cuartil 2 representa la mediana de la variable. Además, nos representa los valores atípicos (outliers) en nuestro intervalo de estudio.

#DIAGRAMA DE CAJA Y BIGOTE
Earthquakes <- read.csv("C:/Users/Public/Documents/Estadistica2/R/9462996/Earthquakes (2).csv",
                        header = TRUE, sep=",", dec=".")
MagCaja<-Earthquakes$mag
cajaBigotes<-boxplot(MagCaja, horizontal=TRUE, col="brown",  
        main ="Gráfica Nº22: Distribución de la Magnitud de los Sismos del
     Subcontinente Indio", xlab="Magnitud",
        names.arg=MagCaja)

summary(MagCaja) #Ver los cuartiles
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.600   4.200   4.400   4.464   4.700   9.100

4 Indicadores

Los indicadores estadísticos son valores numéricos que resumen, describen y analizan características de un conjunto de datos. Estos indicadores permiten simplificar y entender grandes volúmenes de información de manera más eficiente. Se utilizan para tomar decisiones informadas.

4.1 Indicadores de posición

Nos resume un conjunto grande de datos en un solo valor representativo

Variable<-c("Magnitud de Sismos")
Mag<-Earthquakes$mag
min<-min(Mag)
max<-max(Mag)
#MEDIA ARITMETICA
x<-sum(Mag)/(length(Mag))
#MEDIANA
Me<-median(Mag)

#MODA
frq <- table(Mag)

# Find the value with the highest frequency
moda <- names(frq)[which.max(frq)]

# If you want it as a numeric value
moda_numeric <- as.numeric(moda)

4.2 Indicadores de dispersión

Nos indica que tan dispersos estan los valores

#DESVIACIÓN ESTÁNDAR
sd<-sd(Mag)

#COEFICIENTE DE VARIACIÓN
CV <- ((sd / x) * 100)

4.3 Indicadores de forma

Mide que tanto se inclina la distribución de datos

#COEFICIENTE DE ASIMETRÍA
#install.packages("e1071")
library(e1071)
## Warning: package 'e1071' was built under R version 4.4.3
As<-skewness(Mag)

#COEFICIENTE DE CURTOSIS
K<-kurtosis(Mag)

#outliers
outliers<-cajaBigotes$out
minout<-min(outliers)
maxout<-max(outliers)
Outliers<-length(outliers)

4.4 Tabla resumen de indicadores

Tabla_indicadores<-data.frame(Variable,min, max,round(x,2),Me, moda_numeric, round(sd,2), round(CV,2), round(As,2),round(K,2))
colnames(Tabla_indicadores)<-c("Variable","Minimo","Máximo","x","Me","Mo","sd","Cv(%)","As","K")

library(knitr)
kable(Tabla_indicadores[1,], format = "markdown", caption = "Tabla Nº16. Indicadores estadíticos 
      la Magnitud de los Sismos del Subcontinente Indio ")
## Warning in attr(x, "align"): 'xfun::attr()' está en desuso.
## Utilizar 'xfun::attr2()' en su lugar.
## Ver help("Deprecated")
## Warning in attr(x, "format"): 'xfun::attr()' está en desuso.
## Utilizar 'xfun::attr2()' en su lugar.
## Ver help("Deprecated")
Tabla Nº16. Indicadores estadíticos la Magnitud de los Sismos del Subcontinente Indio
Variable Minimo Máximo x Me Mo sd Cv(%) As K
Magnitud de Sismos 2.6 9.1 4.46 4.4 4.3 0.47 10.6 0.87 4.07
Tabla_outliers<-data.frame(Outliers,minout,maxout)

colnames(Tabla_outliers)<-c("Outliers","minimo","máximo")

library(knitr)
kable(Tabla_outliers, format = "markdown", caption = "Tabla Nº6.1. Outliers de la variable")
## Warning in attr(x, "align"): 'xfun::attr()' está en desuso.
## Utilizar 'xfun::attr2()' en su lugar.
## Ver help("Deprecated")
## Warning in attr(x, "format"): 'xfun::attr()' está en desuso.
## Utilizar 'xfun::attr2()' en su lugar.
## Ver help("Deprecated")
Tabla Nº6.1. Outliers de la variable
Outliers minimo máximo
784 2.6 9.1

5 Conclusiones

La variable magnitud medida en grados, sus valores fluctúan entre 2.6 y 9.1, los valores están en torno a la mediana de 4.4, con una desviación estándar de 0.47, siendo un conjunto homogéneo, cuyos valores atípicos se distribuyen tanto en la parte izquierda empezando con 2.6, como en la parte derecha con un máximo de 9.1. La acumulación de valores se encuentra en la parte baja de la variable, con una curtosis fuerte. Por todo lo anterior mencionado, el comportamiento es medianamente beneficioso debido a que la distribución se centra en magnitudes moderadas.