Synopsis

This report analyzes the U.S. National Oceanic and Atmospheric Administration (NOAA) Storm Events database to determine which types of severe weather events are most harmful to population health and which have the greatest economic consequences. Health impact is measured as total fatalities plus injuries, and economic impact is measured as total property plus crop damage in dollars. The analysis finds that tornadoes cause by far the most fatalities and injuries, while floods cause the greatest economic damage, followed by hurricanes/typhoons and tornadoes.

Data Processing

The data used comes from the NOAA Storm Events Database, covering the years 1950 to 2011.

storm_data <- read.csv("StormData.csv.bz2")
dim(storm_data)
## [1] 902297     37

We keep only the columns relevant to this analysis: event type, fatalities, injuries, and property/crop damage (with their unit exponent codes).

storm_subset <- storm_data[, c("EVTYPE", "FATALITIES", "INJURIES",
                                "PROPDMG", "PROPDMGEXP",
                                "CROPDMG", "CROPDMGEXP")]

The PROPDMGEXP and CROPDMGEXP columns contain letter codes (“K” = thousand, “M” = million, “B” = billion) that must be converted into actual dollar multipliers before the damage amounts can be summed correctly.

convert_exp <- function(exp) {
  exp <- toupper(as.character(exp))
  multiplier <- ifelse(exp == "K", 1e3,
                ifelse(exp == "M", 1e6,
                ifelse(exp == "B", 1e9, 1)))
  return(multiplier)
}

storm_subset$PROP_DOLLARS <- storm_subset$PROPDMG * convert_exp(storm_subset$PROPDMGEXP)
storm_subset$CROP_DOLLARS <- storm_subset$CROPDMG * convert_exp(storm_subset$CROPDMGEXP)

We then aggregate fatalities and injuries by event type to assess population health impact, and aggregate property and crop damage by event type to assess economic impact.

health_impact <- aggregate(cbind(FATALITIES, INJURIES) ~ EVTYPE, data = storm_subset, sum)
health_impact$TOTAL_HEALTH <- health_impact$FATALITIES + health_impact$INJURIES
health_impact <- health_impact[order(-health_impact$TOTAL_HEALTH), ]
top10_health <- head(health_impact, 10)
economic_impact <- aggregate(cbind(PROP_DOLLARS, CROP_DOLLARS) ~ EVTYPE, data = storm_subset, sum)
economic_impact$TOTAL_DAMAGE <- economic_impact$PROP_DOLLARS + economic_impact$CROP_DOLLARS
economic_impact <- economic_impact[order(-economic_impact$TOTAL_DAMAGE), ]
top10_economic <- head(economic_impact, 10)

Results

Health Impact

The plot below shows the top 10 event types ranked by total fatalities plus injuries.

barplot(top10_health$TOTAL_HEALTH,
        names.arg = top10_health$EVTYPE,
        las = 2, cex.names = 0.7,
        main = "Top 10 Event Types by Health Impact",
        ylab = "Total Fatalities + Injuries",
        col = "steelblue")

Tornadoes are responsible for far more fatalities and injuries than any other event type, with a combined total of over 96,000 — more than ten times the next highest category, excessive heat.

Economic Impact

The plot below shows the top 10 event types ranked by total property plus crop damage, in billions of dollars.

barplot(top10_economic$TOTAL_DAMAGE / 1e9,
        names.arg = top10_economic$EVTYPE,
        las = 2, cex.names = 0.7,
        main = "Top 10 Event Types by Economic Damage",
        ylab = "Total Damage (Billions USD)",
        col = "darkorange")

Floods cause the greatest economic damage overall, at over $150 billion, driven primarily by property damage. Hurricanes/typhoons and tornadoes follow as the second and third most economically damaging event types.

Conclusion

Tornadoes pose the greatest threat to public health among severe weather events in the U.S., while floods, hurricanes, and tornadoes together account for the largest economic losses. One limitation of this analysis is inconsistent labeling in the EVTYPE field (e.g. “TSTM WIND” vs “THUNDERSTORM WIND”), which may cause some event categories to be undercounted relative to their true totals.