A continuación, se presenta el análisis estadístico descriptivo de la variable Fatality Count. Para obtener una visión integral del fenómeno, el estudio se ha dividido en dos fases: primero, un análisis del inventario total que incluye eventos sin víctimas (fallecidos = 0), permitiendo observar la frecuencia de ocurrencia general; y segundo, un análisis específico de letalidad que excluye los ceros, centrado exclusivamente en la magnitud del impacto de los eventos mortales.

PRIMERA FASE

1. CARGA DE LIBRERÍAS Y DATOS

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")
fatality <- datos_nuevoartes$fatality_count
fatality <- fatality[!is.na(fatality)]
N_total  <- length(fatality)

2. DEFINICIÓN DE INTERVALOS REPRESENTATIVOS

cortes  <- c(0, 1, 2, 5, 10, 20, 50, 100, 250, Inf)
Li      <- cortes[-length(cortes)]
Ls      <- cortes[-1]
clases_etiquetas <- c("0", "1", "2-4", "5-9", "10-19", "20-49", "50-99", "100-249", "≥250")

3. CÁLCULO DE FRECUENCIAS

ni <- numeric(length(Li))
for (i in seq_along(Li)) {
  if (is.infinite(Ls[i])) {
    ni[i] <- sum(fatality >= Li[i])
  } else if (Li[i] == 0 && Ls[i] == 1) { 
    ni[i] <- sum(fatality == 0)
  } else if (Li[i] == 1 && Ls[i] == 2) { 
    ni[i] <- sum(fatality == 1)
  } else { 
    ni[i] <- sum(fatality >= Li[i] & fatality < Ls[i]) 
  }
}

# Marcas de Clase (Punto medio estimado para rangos representativos)

MC <- c(0, 1, 3, 7, 14.5, 34.5, 74.5, 174.5, 300) 

hi     <- (ni / N_total) * 100
Ni_asc <- cumsum(ni)
Ni_dsc <- rev(cumsum(rev(ni)))
Hi_asc <- cumsum(hi)
Hi_dsc <- rev(cumsum(rev(hi)))

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
)

5. 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° 9**"),
    subtitle = md("Distribución de frecuencias del número de fallecidos 
                  a nivel mundial")
  ) %>%
  fmt_number(columns = c(hi, Hi_asc, Hi_dsc, MC), decimals = 2) %>%
  sub_missing(columns = everything(), missing_text = "") %>%
  cols_label(
    Clase  = "Rango",
    Li     = "Li",
    Ls     = "Ls",
    MC     = "MC",
    ni     = "ni",
    hi     = "hi (%)",
    Ni_asc = "Ni (asc)",
    Ni_dsc = "Ni (desc)",
    Hi_asc = "Hi (asc %)",
    Hi_dsc = "Hi (desc %)"
  ) %>%
  tab_style(style = cell_text(weight = "bold"), locations = cells_body(rows = Clase == "TOTAL")) %>%
  tab_source_note(source_note = md("Elaborado por: Grupo 2 – Carrera de Geología"))
tabla_presentacion
Tabla N° 9
Distribución de frecuencias del número de fallecidos a nivel mundial
Rango Li Ls MC ni hi (%) Ni (asc) Ni (desc) Hi (asc %) Hi (desc %)
0 0 1 0.00 7206 74.69 7206 9648 74.69 100.00
1 1 2 1.00 624 6.47 7830 2442 81.16 25.31
2-4 2 5 3.00 893 9.26 8723 1818 90.41 18.84
5-9 5 10 7.00 474 4.91 9197 925 95.33 9.59
10-19 10 20 14.50 252 2.61 9449 451 97.94 4.67
20-49 20 50 34.50 130 1.35 9579 199 99.28 2.06
50-99 50 100 74.50 36 0.37 9615 69 99.66 0.72
100-249 100 250 174.50 19 0.20 9634 33 99.85 0.34
≥250 250 Inf 300.00 14 0.15 9648 14 100.00 0.15
TOTAL


9648 100.00



Elaborado por: Grupo 2 – Carrera de Geología

6. HISTOGRAMAS (Local y Global)

6.1 Histograma Local de (ni)

# Margen estándar
par(mar=c(5, 4, 4, 2))

# 1. Graficamos Local (ni)
pos_x_fat <- barplot(ni, 
                  col = "grey", 
                  border = "black", 
                  space = 0, 
                  las = 1, 
                  main = "Gráfica 13: Distribución local de la frecuencia absoluta\ndel número de fallecidos (Fatality Count)", 
                  xlab = "Número de fallecidos",
                  ylab = "Frecuencia absoluta (ni)",
                  axes = TRUE)

# 2. Eje X en las intersecciones
axis(side = 1, at = 0:length(ni), labels = c(Li, max(Ls)), cex.axis = 0.7)

6.2 Histograma Global de (ni)

# Margen izquierdo ajustado para valores grandes
par(mar=c(5, 5, 4, 2))

# Definimos el tope global solicitado
n_max_global <- 9648

# 1. Ploteo Global (Eje Y hasta 9648)
pos_global_fat <- barplot(ni, 
                       col = "grey", 
                       border = "black", 
                       space = 0, 
                       las = 1, 
                       ylim = c(0, n_max_global), 
                       yaxt = "n",         
                       main = "Gráfica 14: Distribución global de la frecuencia absoluta\ndel número de fallecidos a nivel mundial", 
                       xlab = "Número de fallecidos",
                       ylab = "Frecuencia absoluta (ni)")

# 2. Representación manual del eje Y con el tope de 9648
ticks_y_fat <- c(0, 2000, 4000, 6000, 8000, n_max_global)
axis(side = 2, at = ticks_y_fat, labels = ticks_y_fat, las = 1)

# 3. Eje X en las intersecciones
axis(side = 1, at = 0:length(ni), labels = c(Li, max(Ls)), cex.axis = 0.7)

# Línea de tope global
abline(h = n_max_global, col = "red", lty = 2)

6.3 Histograma Local de (hi)

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

max_hi_fat <- max(hi)

# 1. Ploteo Local de hi
barplot(hi, 
        col = "#CDB79E", 
        border = "black", 
        space = 0, 
        las = 1, 
        ylim = c(0, max_hi_fat), 
        yaxt = "n", 
        main = "Gráfica 15: Distribución local de la frecuencia relativa\ndel número de fallecidos por intervalos", 
        xlab = "Número de fallecidos",
        ylab = "Porcentaje (%)")

# 2. Eje Y manual hasta el máximo real
ticks_y_hi <- seq(0, max_hi_fat, length.out = 5)
axis(side = 2, at = ticks_y_hi, labels = round(ticks_y_hi, 2), las = 1)

# 3. Eje X en las intersecciones
axis(side = 1, at = 0:length(hi), labels = c(Li, max(Ls)), cex.axis = 0.7)

6.4 Histograma Global de (hi)

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

# 1. Ploteo Global de hi (Eje Y al 100)
barplot(hi, 
        col = "#CDB79E", 
        border = "black", 
        space = 0, 
        las = 1, 
        ylim = c(0, 100), 
        yaxt = "n", 
        main = "Gráfica 16: Distribución global de la frecuencia relativa\ndel número de fallecidos a nivel mundial", 
        xlab = "Número de fallecidos",
        ylab = "Porcentaje (%)")

# 2. Eje Y manual (0% a 100%)
ticks_hi_global <- seq(0, 100, by = 20)
axis(side = 2, at = ticks_hi_global, labels = paste0(ticks_hi_global, "%"), las = 1)

# 3. Eje X en las intersecciones
axis(side = 1, at = 0:length(hi), labels = c(Li, max(Ls)), cex.axis = 0.7)

# Línea de referencia 100%
abline(h = 100, col = "blue", lty = 2, lwd = 1.5)

7. DIAGRAMA DE CAJA (BOXPLOT)

par(mfrow = c(1, 1), mar = c(5, 4, 4, 2))
boxplot(fatality, col = "bisque", main = "Gráfica 17: Diagrama de Caja del número de
        fallecidos a nivel mundial",
        horizontal = TRUE, xlab = "Número de Fallecidos")

8. DIAGRAMA DE OJIVAS COMBINADAS

# Aumentamos el margen derecho (4to valor) para que la leyenda sea visible
par(mar = c(7, 5, 4, 11)) 

# Graficamos la Ojiva Ascendente
plot(1:length(ni), Ni_asc, type = "b", pch = 17, col = "black",
     xaxt = "n", xlab = "", ylab = "Frecuencia Acumulada",
     main = "Gráfica 18: Ojivas combinadas del número de fallecidos
     a nivel mundial",
     ylim = c(0, max(Ni_asc, na.rm = TRUE)))

# Graficamos la Ojiva Descendente
lines(1:length(ni), Ni_dsc, type = "b", pch = 16, col = "blue")

# Eje X con etiquetas rotadas
axis(1, at = 1:length(ni), labels = clases_etiquetas, las = 2)
mtext("Rangos", side = 1, line = 5)

# ÚNICA LEYENDA: Combinando toda la información
legend(
  "topright", 
  inset = c(0.04, 0.04),         # Se mueve a la derecha del área blanca
  xpd = TRUE,                  # Permite que la leyenda salga del gráfico
  legend = c("Ascendente (ni ≤)", "Descendente (ni ≥)"),
  col = c("black", "blue"),    # Colores exactos usados en plot y lines
  pch = c(17, 16),             # Símbolos exactos
  lty = 1,                     # Añade la línea al símbolo en la leyenda
  bty = "n",                   # Sin recuadro
  title = "Tipo de Ojiva",
  cex = 0.85                   # Tamaño ajustado para visibilidad
)

9. INDICADORES ESTADÍSTICOS

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

9.1. Tabla de Indicadores estadísticos

tabla_indicadores <- data.frame(
  Variable = "Fatality Count",
  Min = min(fatality), Max = max(fatality), 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° 10: Indicadores Estadísticos del número 
                        de fallecidos a nivel mundial**")) %>%
  fmt_number(columns = 4:10, decimals = 2) %>%
  tab_source_note(source_note = md("Elaborado por: Grupo 2 – Carrera de Geología"))
tabla_indicadores_gt
Tabla N° 10: Indicadores Estadísticos del número de fallecidos a nivel mundial
Variable Min Max Media Mediana Moda Desv..Est. CV.... Asimetría Curtosis
Fatality Count 0 5000 3.22 0.00 0.00 59.89 1,860.15 67.58 5,255.77
Elaborado por: Grupo 2 – Carrera de Geología

10. DETECCIÓN DE OUTLIERS

Q1 <- quantile(fatality, 0.25)
Q3 <- quantile(fatality, 0.75)
IQR_f <- Q3 - Q1
lim_inf <- Q1 - 1.5 * IQR_f
lim_sup <- Q3 + 1.5 * IQR_f
outliers_vec <- fatality[fatality < lim_inf | fatality > lim_sup]

10.1. Tabla de Outliers

tabla_outliers <- data.frame(
  Variable = "Fatality Count",
  Outliers_Detectados = as.character(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° 11**"),
    subtitle = md("Detección de outliers de la variable 
                  número de fallecidos a nivel mundial")
  ) %>%
  fmt_number(columns = 3:6, decimals = 2) %>%
  tab_source_note(source_note = md("Elaborado por: Grupo 2 – Carrera de Geología"))
tabla_outliers_gt
Tabla N° 11
Detección de outliers de la variable número de fallecidos a nivel mundial
Variable Outliers_Detectados Limite_Inferior Limite_Superior Q1 Q3
Fatality Count 1413 −1.50 2.50 0.00 1.00
Elaborado por: Grupo 2 – Carrera de Geología

11. CONCLUSIÓN

La variable número de fallecidos fluctua desde 0 hasta 5000, sus valores están entorno a 0, con una desviación estandar de 59.89 siendo un conjunto de valores muy heterogeneo con sesgo hacia la derecha, a excepción de 1413 valores atípicos que van desde 1 hasta 5000.

SEGUNDA FASE

1. CARGA DE LIBRERÍAS Y DATOS

library(readxl)
library(dplyr)
library(gt)
library(e1071)

datos_nuevoartes <- read_excel("datos_nuevoartes.xlsx")
fatality_raw <- datos_nuevoartes$fatality_count
fatality_raw <- fatality_raw[!is.na(fatality_raw)]

# FILTRADO: Solo eventos con fallecidos (> 0)
fatality <- fatality_raw[fatality_raw > 0]
N_total  <- length(fatality)

2. DEFINICIÓN DE INTERVALOS REPRESENTATIVOS (Sin el 0)

# Los rangos inician en 1 y se ensanchan para captar la letalidad
cortes  <- c(1, 2, 5, 10, 20, 50, 100, 250, 500, Inf)
Li      <- cortes[-length(cortes)]
Ls      <- cortes[-1]
clases_etiquetas <- c("1", "2-4", "5-9", "10-19", "20-49", "50-99", "100-249", "250-499", "≥500")

3. CÁLCULO DE FRECUENCIAS

ni <- numeric(length(Li))
for (i in seq_along(Li)) {
  if (is.infinite(Ls[i])) {
    ni[i] <- sum(fatality >= Li[i])
  } else {
    ni[i] <- sum(fatality >= Li[i] & fatality < Ls[i])
  }
}

# Marca de Clase (MC)
MC <- c(1, 3, 7, 14.5, 34.5, 74.5, 174.5, 374.5, 600)

hi     <- (ni / N_total) * 100
Ni_asc <- cumsum(ni)
Ni_dsc <- rev(cumsum(rev(ni)))
Hi_asc <- cumsum(hi)
Hi_dsc <- rev(cumsum(rev(hi)))

4. TABLA DE FRECUENCIAS

4.1 Creación de la tabla

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 para 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 (Eventos Mortales)*"),
    subtitle = md("Distribución de frecuencias del número de fallecidos a nivel mundial 
                  (sin considerar eventos sin fallecidos)")
  ) %>%
  fmt_number(columns = c(hi, Hi_asc, Hi_dsc, MC), decimals = 2) %>%
  sub_missing(columns = everything(), missing_text = "") %>%
  cols_label(
    Clase = "Rango", ni = "ni", hi = "hi (%)", 
    Ni_asc = "Ni (asc)", Ni_dsc = "Ni (desc)",
    Hi_asc = "Hi (asc %)", Hi_dsc = "Hi (desc %)"
  ) %>%
  tab_style(style = cell_text(weight = "bold"), locations = cells_body(rows = Clase == "TOTAL")) %>%
  tab_source_note(source_note = md("Elaborado por: Grupo 2 – Carrera de Geología"))

tabla_presentacion
Tabla N° 12 (Eventos Mortales)
Distribución de frecuencias del número de fallecidos a nivel mundial (sin considerar eventos sin fallecidos)
Rango Li Ls MC ni hi (%) Ni (asc) Ni (desc) Hi (asc %) Hi (desc %)
1 1 2 1.00 624 25.55 624 2442 25.55 100.00
2-4 2 5 3.00 893 36.57 1517 1818 62.12 74.45
5-9 5 10 7.00 474 19.41 1991 925 81.53 37.88
10-19 10 20 14.50 252 10.32 2243 451 91.85 18.47
20-49 20 50 34.50 130 5.32 2373 199 97.17 8.15
50-99 50 100 74.50 36 1.47 2409 69 98.65 2.83
100-249 100 250 174.50 19 0.78 2428 33 99.43 1.35
250-499 250 500 374.50 11 0.45 2439 14 99.88 0.57
≥500 500 Inf 600.00 3 0.12 2442 3 100.00 0.12
TOTAL


2442 100.00



Elaborado por: Grupo 2 – Carrera de Geología

5 HISTOGRAMAS DE FRECUENCIA ABSOLUTA

5.1. Histograma Local de (ni)

# Margen estándar
par(mar=c(5, 4, 4, 2))

# 1. Definimos el máximo real de ni
max_ni_real <- max(ni)

# 2. Graficamos Local (ni) con tope en el máximo valor obtenido
pos_x <- barplot(ni, 
                 col = "#FAEBD7", 
                 border = "black", 
                 space = 0, 
                 las = 1, 
                 ylim = c(0, max_ni_real),
                 yaxt = "n",
                 main = "Gráfica 19: Distribución local de la frecuencia absoluta\ndel número de fallecidos (Eventos Mortales)", 
                 xlab = "Número de fallecidos (Eventos Mortales)",
                 ylab = "Frecuencia absoluta (ni)")

# 3. Eje Y manual hasta el máximo real (sin decimales)
ticks_y_ni <- round(seq(0, max_ni_real, length.out = 5), 0)
axis(side = 2, at = ticks_y_ni, labels = ticks_y_ni, las = 1)

# 4. Eje X en las intersecciones
etiquetas_x <- c(1, 2, 5, 10, 20, 50, 100, 250, 500, "Max")
axis(side = 1, at = 0:length(ni), labels = etiquetas_x, cex.axis = 0.7)

5.2 Histograma global de (ni)

# Margen izquierdo ajustado para legibilidad
par(mar=c(5, 5, 4, 2))

n_max_global <- 2442

# 1. Ploteo Global (Eje Y hasta 2442)
pos_global <- barplot(ni, 
                      col = "#FAEBD7", 
                      border = "black", 
                      space = 0, 
                      las = 1, 
                      ylim = c(0, n_max_global), 
                      yaxt = "n",         
                      main = "Gráfica 20: Distribución global de la frecuencia absoluta\ndel número de fallecidos (Eventos Mortales)", 
                      xlab = "Número de fallecidos (Eventos Mortales)",
                      ylab = "Frecuencia absoluta (ni)")

# 2. Eje Y manual con el tope de 2442
ticks_y <- c(0, 500, 1000, 1500, 2000, n_max_global)
axis(side = 2, at = ticks_y, labels = ticks_y, las = 1)

# 3. Eje X en las intersecciones
axis(side = 1, at = 0:length(ni), labels = etiquetas_x, cex.axis = 0.7)

# Línea de tope global
abline(h = n_max_global, col = "black", lty = 2)

5.3 Histograma local de (hi)

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

max_hi_real <- max(hi)

# 1. Ploteo Local de hi
barplot(hi, 
        col = "#7FFFD4", 
        border = "black", 
        space = 0, 
        las = 1, 
        ylim = c(0, max_hi_real), 
        yaxt = "n", 
        main = "Gráfica 21: Distribución local de la frecuencia relativa\ndel número de fallecidos (Eventos Mortales)", 
        xlab = "Número de fallecidos (Eventos Mortales)",
        ylab = "Porcentaje (%)")

# 2. Eje Y manual redondeado (quitando los 8 decimales)
ticks_y_hi <- seq(0, max_hi_real, length.out = 5)
axis(side = 2, at = ticks_y_hi, labels = round(ticks_y_hi, 2), las = 1)

# 3. Eje X en las intersecciones
axis(side = 1, at = 0:length(hi), labels = etiquetas_x, cex.axis = 0.7)

5.4 Histograma Global de (hi)

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

# 1. Ploteo Global de hi (Tope 100%)
barplot(hi, 
        col = "#7FFFD4", 
        border = "black", 
        space = 0, 
        las = 1, 
        ylim = c(0, 100), 
        yaxt = "n", 
        main = "Gráfica 22: Distribución global de la frecuencia relativa
        del número de fallecidos (Eventos Mortales)", 
        xlab = "Número de fallecidos (Eventos Mortales)",
        ylab = "Porcentaje (%)")

# 2. Eje Y manual (0% a 100%)
ticks_hi_global <- seq(0, 100, by = 20)
axis(side = 2, at = ticks_hi_global, labels = paste0(ticks_hi_global, "%"), las = 1)

# 3. Eje X en las intersecciones
axis(side = 1, at = 0:length(hi), labels = etiquetas_x, cex.axis = 0.7)

# Línea de referencia 100%
abline(h = 100, col = "blue", lty = 2, lwd = 1.5)

6 DIAGRAMA DE CAJA (BOXPLOT)

par(mfrow = c(1, 1), mar = c(5, 4, 4, 2))
boxplot(fatality, col = "tomato", main = "Gráfica 23: Diagrama de Caja  de 
        la variable número de fallecidos a nivel mundial (excluyendo eventos sin fallecidos)",
        horizontal = TRUE, xlab = "Número de Fallecidos")

7. DIAGRAMA DE OJIVAS COMBINADAS

# Paso 1: Configurar márgenes amplios (Abajo, Izquierda, Arriba, Derecha)
# Aumentamos el margen derecho a 10 para dar espacio a la leyenda
par(mar = c(8, 5, 4, 10)) 

# Paso 2: Graficar Ojiva Ascendente (Negra)
plot(1:length(ni), Ni_asc, type = "b", pch = 17, col = "black",
     xaxt = "n", xlab = "", ylab = "Frecuencia Acumulada",
     main = "Gráfica 24: Ojivas combinadas de la variable número 
     de fallecidos a nivel mundial (excluyendo eventos sin fallecidos) ",
     ylim = c(0, max(Ni_asc) * 1.05)) # Un poco de espacio arriba

# Paso 3: Graficar Ojiva Descendente (Roja)
lines(1:length(ni), Ni_dsc, type = "b", pch = 16, col = "red")

# Paso 4: Ejes y etiquetas
axis(1, at = 1:length(ni), labels = clases_etiquetas, las = 2)
mtext("Rangos de Fallecidos", side = 1, line = 6)

# Paso 5: LEYENDA (Ajustada para que no desaparezca)
# La colocamos en 'topright' pero DENTRO del área primero para probar
legend(
  "topright", 
  inset = c(0.07, 0.07),         # Si sigue sin verse, cambia esto a c(0, 0)
  xpd = TRUE,                  # Permite dibujar fuera del recuadro
  legend = c("Ascendente (ni ≤)", "Descendente (ni ≥)"),
  col = c("black", "red"),
  pch = c(17, 16),
  lty = 1,
  bty = "n",                   # Sin borde para que no estorbe
  cex = 0.8                    # Un poco más pequeña para asegurar espacio
)

8. INDICADORES ESTADÍSTICOS

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

8.1 Tabla de indicadores

tabla_indicadores <- data.frame(
  Variable = "Fatality Count",
  Min = min(fatality), Max = max(fatality), 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: Indicadores estadísticos del número de fallecidos a nivel mundial (excluyendo eventos sin fallecidos)*")) %>%
  fmt_number(columns = 4:10, decimals = 2)

tabla_indicadores_gt
Tabla N° 13: Indicadores estadísticos del número de fallecidos a nivel mundial (excluyendo eventos sin fallecidos)
Variable Min Max Media Mediana Moda Desv..Est. CV.... Asimetría Curtosis
Fatality Count 1 5000 12.72 3.00 1.00 118.54 931.99 34.18 1,339.22

9. DETECCIÓN DE OUTLIERS

Q1 <- quantile(fatality, 0.25)
Q3 <- quantile(fatality, 0.75)
IQR_f <- Q3 - Q1
lim_inf <- Q1 - 1.5 * IQR_f
lim_sup <- Q3 + 1.5 * IQR_f
outliers_vec <- fatality[fatality < lim_inf | fatality > lim_sup]

9.1 Tabla de Outliers

tabla_outliers <- data.frame(
  Variable = "Fatality Count (>0)",
  Outliers_Detectados = as.character(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: Detección de valores atípicos del número de fallecidos a nivel mundial (excluyendo eventos sin fallecidos)*")) %>%
  fmt_number(columns = 3:6, decimals = 2)

tabla_outliers_gt
Tabla N° 14: Detección de valores atípicos del número de fallecidos a nivel mundial (excluyendo eventos sin fallecidos)
Variable Outliers_Detectados Limite_Inferior Limite_Superior Q1 Q3
Fatality Count (>0) 241 −8.00 16.00 1.00 7.00

10. CONCLUSIÓN

La variable número de fallecidos (excluyendo eventos sin fallecidos) fluctua desde 1 hasta 5000, sus valores están entorno a 13 fallecidos, con una desviación estandar de 118.54 siendo un conjunto de valores muy heterogeneo con sesgo hacia la derecha, a excepción de 241 valores atípicos que van desde 7 hasta 5000.