Synopsis

This analysis examines the NOAA Storm Database to determine which types of severe weather events have the greatest impacts on population health and the greatest economic consequences in the United States. Population health impacts are evaluated using reported fatalities and injuries associated with each event type. Economic consequences are evaluated using reported property and crop damage. The data are processed from the original compressed CSV file, with damage values converted to numerical dollar amounts using the provided magnitude indicators. The results identify the event types responsible for the largest numbers of fatalities and injuries and the greatest total economic damage. These findings provide an overview of which severe weather events have historically produced the most significant human and economic impacts.

Data Processing

library(ggplot2)
data <- read.csv("repdata_data_StormData.csv.bz2")

The analysis focuses on the event type (EVTYPE), fatalities (FATALITIES), injuries (INJURIES), property damage (PROPDMG and PROPDMGEXP), and crop damage (CROPDMG and CROPDMGEXP). Fatalities and injuries were summed by event type to measure the overall population health impact of each type of event.

health <- aggregate(cbind(FATALITIES, INJURIES) ~ EVTYPE,
                    data = data,
                    sum)

health <- health[order(-health$FATALITIES), ]

head(health, 10)
##             EVTYPE FATALITIES INJURIES
## 834        TORNADO       5633    91346
## 130 EXCESSIVE HEAT       1903     6525
## 153    FLASH FLOOD        978     1777
## 275           HEAT        937     2100
## 464      LIGHTNING        816     5230
## 856      TSTM WIND        504     6957
## 170          FLOOD        470     6789
## 585    RIP CURRENT        368      232
## 359      HIGH WIND        248     1137
## 19       AVALANCHE        224      170
health_injuries <- health[order(-health$INJURIES), ]

head(health_injuries, 10)
##                EVTYPE FATALITIES INJURIES
## 834           TORNADO       5633    91346
## 856         TSTM WIND        504     6957
## 170             FLOOD        470     6789
## 130    EXCESSIVE HEAT       1903     6525
## 464         LIGHTNING        816     5230
## 275              HEAT        937     2100
## 427         ICE STORM         89     1975
## 153       FLASH FLOOD        978     1777
## 760 THUNDERSTORM WIND        133     1488
## 244              HAIL         15     1361

The economic damage variables were processed using their associated magnitude indicators. The magnitude codes K, M, and B were interpreted as thousands, millions, and billions, respectively. Numeric magnitude values were interpreted as powers of ten. Records without a recognized magnitude were assigned a multiplier of zero because these codes do not provide a valid magnitude for converting the reported damage value into dollars. Property and crop damage were then multiplied by their respective magnitude multipliers and combined to obtain total economic damage for each observation.

damage_multiplier <- function(x) {
  x <- toupper(as.character(x))
  
  multiplier <- rep(0, length(x))
  
  multiplier[x == "K"] <- 1000
  multiplier[x == "M"] <- 1000000
  multiplier[x == "B"] <- 1000000000
  
  numeric_exp <- suppressWarnings(as.numeric(x))
  multiplier[!is.na(numeric_exp)] <- 10^numeric_exp[!is.na(numeric_exp)]
  
  multiplier
}
data$PROP_MULT <- damage_multiplier(data$PROPDMGEXP)
data$CROP_MULT <- damage_multiplier(data$CROPDMGEXP)

data$PROP_DAMAGE <- data$PROPDMG * data$PROP_MULT
data$CROP_DAMAGE <- data$CROPDMG * data$CROP_MULT

data$TOTAL_DAMAGE <- data$PROP_DAMAGE + data$CROP_DAMAGE
economic <- aggregate(TOTAL_DAMAGE ~ EVTYPE,
                      data = data,
                      sum)

economic <- economic[order(-economic$TOTAL_DAMAGE), ]

head(economic, 10)
##                EVTYPE TOTAL_DAMAGE
## 170             FLOOD 150319678250
## 411 HURRICANE/TYPHOON  71913712800
## 834           TORNADO  57362333884
## 670       STORM SURGE  43323541000
## 244              HAIL  18761221426
## 153       FLASH FLOOD  18243990872
## 95            DROUGHT  15018672000
## 402         HURRICANE  14610229010
## 590       RIVER FLOOD  10148404500
## 427         ICE STORM   8967041360

Results

Population Health

top_fatalities <- head(health[order(-health$FATALITIES), ], 10)

ggplot(top_fatalities,
       aes(x = reorder(EVTYPE, FATALITIES),
           y = FATALITIES)) +
  geom_col() +
  coord_flip() +
  labs(
    title = "Top 10 Weather Events by Number of Fatalities",
    x = "Event Type",
    y = "Number of Fatalities"
  )

Figure 1. The ten event types associated with the greatest numbers of fatalities in the NOAA Storm Database. Bars represent the total number of reported fatalities across the United States.

top_injuries <- head(health[order(-health$INJURIES), ], 10)

ggplot(top_injuries,
       aes(x = reorder(EVTYPE, INJURIES),
           y = INJURIES)) +
  geom_col() +
  coord_flip() +
  labs(
    title = "Top 10 Weather Events by Number of Injuries",
    x = "Event Type",
    y = "Number of Injuries"
  )

Figure 2. The ten event types associated with the greatest numbers of injuries in the NOAA Storm Database. Bars represent the total number of reported injuries across the United States.

The results show that tornadoes had the greatest impact on population health in the NOAA Storm Database. Tornadoes were associated with 5,633 fatalities and 91,346 injuries, substantially exceeding the other event types shown in the figures. Excessive heat had the second-highest number of fatalities, with 1,903, while TSTM wind had the second-highest number of injuries, with 6,957.

Economic Consequences

top_economic <- head(economic, 10)

ggplot(top_economic,
       aes(x = reorder(EVTYPE, TOTAL_DAMAGE),
           y = TOTAL_DAMAGE)) +
  geom_col() +
  coord_flip() +
  labs(
    title = "Top 10 Weather Events by Total Economic Damage",
    x = "Event Type",
    y = "Total Damage (US Dollars)"
  )

Figure 3. The ten event types associated with the greatest total economic damage in the NOAA Storm Database. Total damage includes both property and crop damage and is expressed in U.S. dollars.

Floods had the greatest overall economic consequences, with approximately $150.3 billion in combined property and crop damage. Hurricane/typhoon events ranked second at approximately $71.9 billion, followed by tornadoes at approximately $57.4 billion. These results indicate that the event types producing the greatest economic damage were not necessarily the same as those producing the greatest population health impacts.