Synopsis

This analysis examines the NOAA Storm Database to identify the severe weather events with the greatest impacts on population health and the economy in the United States. Population health impact is measured using the combined number of fatalities and injuries. Economic impact is measured using total property and crop damage after converting the reported damage exponents into dollar values. Tornadoes account for the greatest overall population health impact, while floods produce the greatest economic losses.

Data Processing

The analysis starts directly from the original compressed NOAA Storm Database file. The raw .csv.bz2 file is read into R without preprocessing outside this document.

library(dplyr)
library(ggplot2)

Loading the Raw Data

storm <- read.csv(
    bzfile("repdata_data_StormData.csv.bz2"),
    stringsAsFactors = FALSE
)

Only variables needed to assess population health and economic consequences are retained.

storm <- storm %>%
    select(
        EVTYPE,
        FATALITIES,
        INJURIES,
        PROPDMG,
        PROPDMGEXP,
        CROPDMG,
        CROPDMGEXP
    )

Processing Damage Exponents

convert_exp <- function(x) {
    x <- toupper(trimws(as.character(x)))

    case_when(
        x == "H" ~ 1e2,
        x == "K" ~ 1e3,
        x == "M" ~ 1e6,
        x == "B" ~ 1e9,
        x == "0" ~ 1,
        x == "1" ~ 10,
        x == "2" ~ 1e2,
        x == "3" ~ 1e3,
        x == "4" ~ 1e4,
        x == "5" ~ 1e5,
        x == "6" ~ 1e6,
        x == "7" ~ 1e7,
        x == "8" ~ 1e8,
        x == "9" ~ 1e9,
        TRUE ~ 1
    )
}

The population health burden is defined as the sum of fatalities and injuries. Economic damage is defined as the sum of property and crop damage.

storm <- storm %>%
    mutate(
        health_impact = FATALITIES + INJURIES,
        property_damage = PROPDMG * convert_exp(PROPDMGEXP),
        crop_damage = CROPDMG * convert_exp(CROPDMGEXP),
        economic_damage = property_damage + crop_damage
    )

The data are then summarized by event type.

health_summary <- storm %>%
    group_by(EVTYPE) %>%
    summarise(
        fatalities = sum(FATALITIES, na.rm = TRUE),
        injuries = sum(INJURIES, na.rm = TRUE),
        total_health_impact = sum(health_impact, na.rm = TRUE),
        .groups = "drop"
    ) %>%
    arrange(desc(total_health_impact))

economic_summary <- storm %>%
    group_by(EVTYPE) %>%
    summarise(
        property_damage = sum(property_damage, na.rm = TRUE),
        crop_damage = sum(crop_damage, na.rm = TRUE),
        total_economic_damage = sum(economic_damage, na.rm = TRUE),
        .groups = "drop"
    ) %>%
    arrange(desc(total_economic_damage))

Results

Events Most Harmful to Population Health

The following table shows the ten event types associated with the largest combined number of fatalities and injuries.

head(health_summary, 10)
## # A tibble: 10 × 4
##    EVTYPE            fatalities injuries total_health_impact
##    <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
health_summary %>%
    slice_head(n = 10) %>%
    ggplot(
        aes(
            x = reorder(EVTYPE, total_health_impact),
            y = total_health_impact
        )
    ) +
    geom_col() +
    coord_flip() +
    labs(
        title = "Weather Events Most Harmful to Population Health",
        x = "Event Type",
        y = "Fatalities + Injuries"
    )
Figure 1. Ten severe weather event types associated with the largest combined number of fatalities and injuries in the United States.

Figure 1. Ten severe weather event types associated with the largest combined number of fatalities and injuries in the United States.

Tornadoes caused the greatest overall population health impact when fatalities and injuries were considered together.

Events with the Greatest Economic Consequences

The following table shows the ten event types associated with the greatest total property and crop damage.

head(economic_summary, 10)
## # A tibble: 10 × 4
##    EVTYPE            property_damage crop_damage total_economic_damage
##    <chr>                       <dbl>       <dbl>                 <dbl>
##  1 FLOOD               144657709807   5661968450         150319678257 
##  2 HURRICANE/TYPHOON    69305840000   2607872800          71913712800 
##  3 TORNADO              56947380676.   414953270          57362333946.
##  4 STORM SURGE          43323536000         5000          43323541000 
##  5 HAIL                 15735267513.  3025954473          18761221986.
##  6 FLASH FLOOD          16822673978.  1421317100          18243991078.
##  7 DROUGHT               1046106000  13972566000          15018672000 
##  8 HURRICANE            11868319010   2741910000          14610229010 
##  9 RIVER FLOOD           5118945500   5029459000          10148404500 
## 10 ICE STORM             3944927860   5022113500           8967041360
economic_summary %>%
    slice_head(n = 10) %>%
    ggplot(
        aes(
            x = reorder(EVTYPE, total_economic_damage),
            y = total_economic_damage / 1e9
        )
    ) +
    geom_col() +
    coord_flip() +
    labs(
        title = "Weather Events with the Greatest Economic Impact",
        x = "Event Type",
        y = "Total Damage (Billion US Dollars)"
    )
Figure 2. Ten severe weather event types associated with the greatest combined property and crop damage in the United States.

Figure 2. Ten severe weather event types associated with the greatest combined property and crop damage in the United States.

Floods produced the greatest total economic losses in the NOAA Storm Database, followed by other major storm events including hurricanes/typhoons and tornadoes.