ANÁLISIS ESTADÍSTICO DE VOLCANES ACTIVOS A NIVEL GLOBAL
VARIABLE NOMINAL TIPO DE VOLCAN

CARRERA DE GEOLOGÍA

GRUPO N°2

ANÁLISIS ESTADÍSTICO INFERENCIAL

CARGA DE LIBRERIAS Y DATOS

## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
## (as 'lib' is unspecified)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
## (as 'lib' is unspecified)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
## (as 'lib' is unspecified)
## 
## 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
Volcanes_Globales <- read.csv("global_volcano_eruption_intelligence.csv", header = T, sep = ";", dec = ".")

#SELECCION VARIABLE
tipo_Vol <- Volcanes_Globales$volcano_type

#LIMPIEZA DE DATOS
sum(is.na(tipo_Vol))
## [1] 0

TABLA DE DISTRIBUCIÓN DE PROBABILIDAD

AGRUPACIÓN DE CATEGORIAS

#AGRUPACION DE CATEGORIAS
tipo_Vol_agrupado <- case_when(
  
  tipo_Vol %in% c(
    "Stratovolcano",
    "Compound volcano"
  ) ~ "Estratovolcanes",
  
  tipo_Vol %in% c(
    "Shield volcano",
    "Pyroclastic shield"
  ) ~ "Volcanes escudo",
  
  tipo_Vol %in% c(
    "Complex volcano",
    "Caldera"
  ) ~ "Complejos y calderas",
  
  tipo_Vol %in% c(
    "Cinder cone",
    "Pyroclastic cone",
    "Pumice cone",
    "Tuff cone"
  ) ~ "Conos piroclasticos",
  
  tipo_Vol %in% c(
    "Lava dome",
    "Lava cone"
  ) ~ "Domos y conos de lava",
  
  tipo_Vol %in% c(
    "Fissure vent",
    "Crater rows",
    "Volcanic field"
  ) ~ "Fisuras y campos volcanicos",
  
  tipo_Vol %in% c(
    "Submarine volcano",
    "Submarine volcanoes",
    "Subglacial volcano"
  ) ~ "Volcanes submarinos y subglaciares",
  
  tipo_Vol == "Maar" ~ "Maar",
  
  tipo_Vol == "Mud volcano" ~ "Mud volcano"
)

CALCULO DE FRECUENCIAS

# Tabla de frecuencias
TDFVolcanes <- table(tipo_Vol_agrupado)

# Convertir a dataframe
TDFVolcanes <- as.data.frame(TDFVolcanes)   

# Cambiar nombres de columnas
colnames(TDFVolcanes) <- c("Grupo", "Freq")

# Calcular frecuencia absoluta (ni)
TDFVolcanesFinal <- TDFVolcanes %>%
  group_by(Grupo) %>%
  summarise(
    ni = sum(Freq),
    
    #Calcular Frecuencia relativa (hi)
    
    # hi porcentual 
    hi = (ni / sum(TDFVolcanes$Freq)) * 100,
    
    # hi decimal
    hi_decimal = ni / sum(TDFVolcanes$Freq)
  )

#Añadir fila de totales 
TDFVolcanesFinal <- TDFVolcanesFinal %>%
  add_row(
    Grupo = "Total",
    ni = sum(TDFVolcanesFinal$ni),
    hi = sum(TDFVolcanesFinal$hi),
    hi_decimal = sum(TDFVolcanesFinal$hi_decimal)
  )

# Redondear Frecuencias
TDFVolcanesFinal <- TDFVolcanesFinal %>%
  mutate(
    hi = round(hi, 2),
    hi_decimal = round(hi_decimal, 4)
  )

TABLA DE FRECUENCIAS Y PROBABILIDAD

Distribución de Probabilidad de Tipos de Volcanes
Análisis de frecuencias globales según su grupo morfológico
Grupo de Volcanes Frecuencia Absoluta (ni) Frecuencia Relativa (hi %) Probabilidad (pi)
Complejos y calderas 164 18.26 0.1826
Conos piroclasticos 10 1.11 0.0111
Domos y conos de lava 11 1.22 0.0122
Estratovolcanes 576 64.14 0.6414
Fisuras y campos volcanicos 9 1.00 0.0100
Maar 2 0.22 0.0022
Mud volcano 1 0.11 0.0011
Volcanes escudo 84 9.35 0.0935
Volcanes submarinos y subglaciares 41 4.57 0.0457
Total 898 100.00 1.0000

GRÁFICA DE DISTRIBUCIÓN DE PROBABILIDAD

DIAGRAMA DE DISTRIBUCION DE FRECUENCIA RELATIVA

#GRAFICAS DE DISTRIBUCION DE FRECUENCIAS
#Eliminar fila TOTAL
TDFVolcanesPlot <- TDFVolcanesFinal[
  TDFVolcanesFinal$Grupo != "Total", ]

# GRAFICA DE FRECUENCIA RELATIVA LOCAL
barplot(
  TDFVolcanesPlot$hi,
  
  main = "Gráfica Nº1: Frecuencia Relativa de los Tipos de Volcanes (local) ",
  
  xlab = "Tipo de volcán",
  
  ylab = "Porcentaje (%)",
  
  col = "orange",
  
  names.arg = TDFVolcanesPlot$Grupo,
  
  cex.names = 0.7,
  
  las = 2
  
)

DIAGRAMA DE DENSIDAD DE PROBABILIDAD

#GRAFICA DE DENSIDAD DE PROBABILIDAD
barplot(
  TDFVolcanesPlot$hi,
  
  main = "Gráfica Nº2: Densidad de la probabilidad del tipo de volcan",
  
  xlab = "Tipo de volcán",
  
  ylab = "Probabilidad (%)",
  
  col = "green",
  
  names.arg = TDFVolcanesPlot$Grupo,
  
  cex.names = 0.7,
  
  las = 2,
  
  ylim = c(0, 100)
)

CALCULO DE PROBABILIDAD

# 1. Calculamos el valor de la probabilidad dinámicamente
porcentaje <- round(
  (TDFVolcanesFinal$ni[TDFVolcanesFinal$Grupo == "Estratovolcanes"] /
     TDFVolcanesFinal$ni[TDFVolcanesFinal$Grupo == "Total"]) * 100,
  1
)

porcentaje
## [1] 64.1

CONCLUSIÓN