Synopsis

This analysis explores the U.S. National Oceanic and Atmospheric Administration’s (NOAA) storm database to answer two key questions: which weather events are most harmful to population health, and which have the greatest economic consequences. The data spans from 1950 to November 2011. We find that tornadoes are by far the most harmful event type with respect to population health, causing the most fatalities and injuries. Floods cause the greatest economic damage overall when combining property and crop damage. These findings can help government agencies prioritize resources for disaster preparedness.

Data Processing

storm <- read.csv("repdata_data_StormData.csv.bz2")
dim(storm)
## [1] 902297     37
names(storm)[c(8, 23, 24, 25, 26, 27, 28)]
## [1] "EVTYPE"     "FATALITIES" "INJURIES"   "PROPDMG"    "PROPDMGEXP"
## [6] "CROPDMG"    "CROPDMGEXP"
storm$EVTYPE <- toupper(storm$EVTYPE)

storm_health <- storm[, c("EVTYPE", "FATALITIES", "INJURIES")]
storm_econ   <- storm[, c("EVTYPE", "PROPDMG", "PROPDMGEXP", "CROPDMG", "CROPDMGEXP")]

convert_exp <- function(exp) {
    exp <- toupper(as.character(exp))
    sapply(exp, function(e) {
        if (e == "K") return(1e3)
        if (e == "M") return(1e6)
        if (e == "B") return(1e9)
        if (e == "H") return(1e2)
        if (grepl("^[0-9]$", e)) return(10^as.numeric(e))
        return(1)
    })
}

storm_econ$prop_damage  <- storm_econ$PROPDMG * convert_exp(storm_econ$PROPDMGEXP)
storm_econ$crop_damage  <- storm_econ$CROPDMG * convert_exp(storm_econ$CROPDMGEXP)
storm_econ$total_damage <- storm_econ$prop_damage + storm_econ$crop_damage

Results

Question 1: Which events are most harmful to population health?

fatalities <- aggregate(FATALITIES ~ EVTYPE, storm_health, sum)
injuries   <- aggregate(INJURIES ~ EVTYPE, storm_health, sum)

top_fatal  <- head(fatalities[order(-fatalities$FATALITIES), ], 10)
top_injury <- head(injuries[order(-injuries$INJURIES), ], 10)

par(mfrow = c(1, 2), mar = c(10, 4, 3, 1))

barplot(top_fatal$FATALITIES,
        names.arg = top_fatal$EVTYPE,
        las = 2,
        col = "tomato",
        main = "Top 10 Events\nby Fatalities",
        ylab = "Total Fatalities",
        cex.names = 0.7)

barplot(top_injury$INJURIES,
        names.arg = top_injury$EVTYPE,
        las = 2,
        col = "steelblue",
        main = "Top 10 Events\nby Injuries",
        ylab = "Total Injuries",
        cex.names = 0.7)

Figure 1: Top 10 weather event types by total fatalities (left) and total injuries (right) across the United States from 1950-2011. Tornadoes dominate both categories.

cat("Top 5 events by fatalities:\n")
## Top 5 events by fatalities:
print(head(top_fatal, 5))
##             EVTYPE FATALITIES
## 758        TORNADO       5633
## 116 EXCESSIVE HEAT       1903
## 138    FLASH FLOOD        978
## 243           HEAT        937
## 418      LIGHTNING        816
cat("\nTop 5 events by injuries:\n")
## 
## Top 5 events by injuries:
print(head(top_injury, 5))
##             EVTYPE INJURIES
## 758        TORNADO    91346
## 779      TSTM WIND     6957
## 154          FLOOD     6789
## 116 EXCESSIVE HEAT     6525
## 418      LIGHTNING     5230

Tornadoes are the most harmful weather event for population health, accounting for fatalities and injuries.

Question 2: Which events have the greatest economic consequences?

econ     <- aggregate(total_damage ~ EVTYPE, storm_econ, sum)
top_econ <- head(econ[order(-econ$total_damage), ], 10)

par(mfrow = c(1, 1), mar = c(10, 5, 3, 1))

barplot(top_econ$total_damage / 1e9,
        names.arg = top_econ$EVTYPE,
        las = 2,
        col = "darkgreen",
        main = "Top 10 Weather Events by Total Economic Damage",
        ylab = "Total Damage (billions USD)",
        cex.names = 0.7)

Figure 2: Top 10 weather event types by total economic damage (property + crop) in billions of USD across the United States from 1950-2011.

cat("Top 5 events by economic damage:\n")
## Top 5 events by economic damage:
top_econ$total_damage_billions <- round(top_econ$total_damage / 1e9, 2)
print(head(top_econ[, c("EVTYPE", "total_damage_billions")], 5))
##                EVTYPE total_damage_billions
## 154             FLOOD                150.32
## 372 HURRICANE/TYPHOON                 71.91
## 758           TORNADO                 57.36
## 599       STORM SURGE                 43.32
## 212              HAIL                 18.76

Floods cause the greatest economic damage in combined property and crop damage.