Synopsis

This analysis explores the U.S. National Oceanic and Atmospheric Administration’s (NOAA) storm database to identify weather events most harmful to population health and those with the greatest economic consequences. The database covers major storms and weather events in the United States from 1950 to November 2011. We found that tornadoes cause the most fatalities and injuries, making them the most harmful event type for population health. Floods cause the greatest economic damage overall, followed by hurricanes and storm surges. These findings can help government managers prioritize resources for disaster preparedness and response.

Data Processing

library(dplyr)
library(ggplot2)
# Load data directly from the raw bz2 file
storm_data <- read.csv("StormData.csv.bz2", stringsAsFactors = FALSE)
dim(storm_data)
## [1] 902297     37
# Aggregate fatalities and injuries by event type
health_impact <- storm_data %>%
  group_by(EVTYPE) %>%
  summarise(
    Fatalities = sum(FATALITIES, na.rm = TRUE),
    Injuries   = sum(INJURIES,   na.rm = TRUE),
    Total      = Fatalities + Injuries
  ) %>%
  arrange(desc(Total)) %>%
  head(10)

health_impact
## # A tibble: 10 x 4
##    EVTYPE            Fatalities Injuries Total
##    <chr>                  <dbl>    <dbl> <dbl>
##  1 TORNADO                 5633    91346 96979
##  2 EXCESSIVE HEAT          1903     6525  8428
##  3 TSTM WIND                504     6957  7461
##  4 FLOOD                    470     6789  7259
##  5 LIGHTNING                816     5230  6046
##  6 HEAT                     937     2100  3037
##  7 FLASH FLOOD              978     1777  2755
##  8 ICE STORM                 89     1975  2064
##  9 THUNDERSTORM WIND        133     1488  1621
## 10 WINTER STORM             206     1321  1527
# Convert property and crop damage using exponent columns
convert_exp <- function(value, exp) {
  exp <- toupper(as.character(exp))
  multiplier <- case_when(
    exp == "K" ~ 1e3,
    exp == "M" ~ 1e6,
    exp == "B" ~ 1e9,
    exp == "H" ~ 1e2,
    TRUE        ~ 1
  )
  value * multiplier
}

economic_impact <- storm_data %>%
  mutate(
    PropDmg = convert_exp(PROPDMG, PROPDMGEXP),
    CropDmg = convert_exp(CROPDMG, CROPDMGEXP),
    TotalDmg = PropDmg + CropDmg
  ) %>%
  group_by(EVTYPE) %>%
  summarise(TotalDamage = sum(TotalDmg, na.rm = TRUE)) %>%
  arrange(desc(TotalDamage)) %>%
  head(10)

economic_impact
## # A tibble: 10 x 2
##    EVTYPE              TotalDamage
##    <chr>                     <dbl>
##  1 FLOOD             150319678257 
##  2 HURRICANE/TYPHOON  71913712800 
##  3 TORNADO            57352114049.
##  4 STORM SURGE        43323541000 
##  5 HAIL               18758222016.
##  6 FLASH FLOOD        17562129167.
##  7 DROUGHT            15018672000 
##  8 HURRICANE          14610229010 
##  9 RIVER FLOOD        10148404500 
## 10 ICE STORM           8967041360

Results

health_long <- health_impact %>%
  tidyr::pivot_longer(cols = c(Fatalities, Injuries),
                      names_to = "Type", values_to = "Count")

ggplot(health_long, aes(x = reorder(EVTYPE, -Total), y = Count, fill = Type)) +
  geom_bar(stat = "identity") +
  coord_flip() +
  labs(
    title = "Top 10 Weather Events Most Harmful to Population Health",
    x     = "Event Type",
    y     = "Number of Casualties",
    fill  = "Casualty Type"
  ) +
  theme_minimal()
Figure 1: Top 10 weather events most harmful to population health (fatalities + injuries combined)

Figure 1: Top 10 weather events most harmful to population health (fatalities + injuries combined)

ggplot(economic_impact, aes(x = reorder(EVTYPE, TotalDamage), y = TotalDamage / 1e9)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  coord_flip() +
  labs(
    title = "Top 10 Weather Events with Greatest Economic Consequences",
    x     = "Event Type",
    y     = "Total Damage (Billions USD)"
  ) +
  theme_minimal()
Figure 2: Top 10 weather events with greatest economic consequences

Figure 2: Top 10 weather events with greatest economic consequences

Key Findings

Population Health: Tornadoes are by far the most harmful weather event, responsible for the highest combined total of fatalities and injuries across all recorded years.

Economic Consequences: Floods cause the greatest total economic damage in property and crop losses, followed by hurricanes/typhoons and storm surges.