Sinopsis

Este informe analiza los datos de tormentas de la base de datos de la NOAA en EE.UU. desde 1950 hasta 2011. El objetivo es determinar qué fenómenos meteorológicos causan mayores daños a la salud pública (muertes y heridos) y qué eventos generan las mayores pérdidas económicas. Tras procesar los datos, se identificaron los eventos más críticos, permitiendo priorizar recursos de prevención.

Procesamiento de datos

# Carga de la librería necesaria
library(dplyr)
library(ggplot2)

# Cargamos el archivo de datos
datos <- read.csv("repdata_data_StormData.csv.bz2")

# Seleccionamos las columnas de interés
datos_limpios <- datos %>% 
  select(EVTYPE, FATALITIES, INJURIES, PROPDMG, CROPDMG)


salud <- datos_limpios %>%
  group_by(EVTYPE) %>%
  summarise(Total_Salud = sum(FATALITIES + INJURIES, na.rm = TRUE)) %>%
  arrange(desc(Total_Salud))

# Mostramos los 5 eventos más dañinos
head(salud, 5)
## # A tibble: 5 × 2
##   EVTYPE         Total_Salud
##   <chr>                <dbl>
## 1 TORNADO              96979
## 2 EXCESSIVE HEAT        8428
## 3 TSTM WIND             7461
## 4 FLOOD                 7259
## 5 LIGHTNING             6046
# Gráfico para salud
ggplot(head(salud, 5), aes(x = reorder(EVTYPE, -Total_Salud), y = Total_Salud)) +
  geom_bar(stat = "identity", fill = "red") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Top 5 eventos dañinos para la salud", x = "Tipo de Evento", y = "Total Víctimas")

economia <- datos_limpios %>%
  group_by(EVTYPE) %>%
  summarise(Total_Econ = sum(PROPDMG + CROPDMG, na.rm = TRUE)) %>%
  arrange(desc(Total_Econ))

# Mostramos los 5 eventos más costosos
head(economia, 5)
## # A tibble: 5 × 2
##   EVTYPE      Total_Econ
##   <chr>            <dbl>
## 1 TORNADO       3312277.
## 2 FLASH FLOOD   1599325.
## 3 TSTM WIND     1445168.
## 4 HAIL          1268290.
## 5 FLOOD         1067976.
# Gráfico para economía
ggplot(head(economia, 5), aes(x = reorder(EVTYPE, -Total_Econ), y = Total_Econ)) +
  geom_bar(stat = "identity", fill = "blue") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Top 5 eventos con mayor impacto económico", x = "Tipo de Evento", y = "Total Daño ($)")