This analysis explores the NOAA Storm Database from 1950 to 2011 to identify which types of severe weather events are most harmful to population health and which have the greatest economic consequences. Health impact is measured by total fatalities and injuries, while economic impact is calculated using property and crop damage estimates. Damage exponents (K, M, B) were converted into numeric values to compute total losses. The results show that a small number of event types account for the majority of health and economic impacts across the United States. These findings may help public managers prioritize preparedness and mitigation efforts.
library(dplyr)
library(ggplot2)
file <- "repdata_data_StormData.csv.bz2"
if (!file.exists(file)) {
download.file(
"https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2",
destfile = file,
mode = "wb"
)
}
storm <- read.csv(file, stringsAsFactors = FALSE)
dim(storm)
## [1] 902297 37
The dataset contains information on severe weather events, including fatalities, injuries, and economic damage estimates.
storm2 <- storm %>%
select(EVTYPE, FATALITIES, INJURIES,
PROPDMG, PROPDMGEXP,
CROPDMG, CROPDMGEXP)
exp_map <- function(x) {
x <- toupper(x)
case_when(
x == "H" ~ 1e2,
x == "K" ~ 1e3,
x == "M" ~ 1e6,
x == "B" ~ 1e9,
TRUE ~ 1
)
}
storm3 <- storm2 %>%
mutate(
EVTYPE = toupper(trimws(EVTYPE)),
prop_dmg = PROPDMG * exp_map(PROPDMGEXP),
crop_dmg = CROPDMG * exp_map(CROPDMGEXP),
total_dmg = prop_dmg + crop_dmg
)
##most harmful to population health
health <- storm3 %>%
group_by(EVTYPE) %>%
summarise(
fatalities = sum(FATALITIES, na.rm = TRUE),
injuries = sum(INJURIES, na.rm = TRUE),
harm = fatalities + injuries,
.groups = "drop"
) %>%
arrange(desc(harm))
top10_health <- health %>% slice_max(order_by = harm, n = 10)
ggplot(top10_health,
aes(x = reorder(EVTYPE, harm), y = harm)) +
geom_col() +
coord_flip() +
labs(title = "Top 10 Event Types Most Harmful to Population Health",
x = "Event Type",
y = "Total Harm (Fatalities + Injuries)")
The plot shows that a small number of event types account for the
majority of fatalities and injuries, suggesting that preparedness
focused on these events could reduce the largest share of health
impacts.
##greatest economic consequences
econ <- storm3 %>%
group_by(EVTYPE) %>%
summarise(
total = sum(total_dmg, na.rm = TRUE),
.groups = "drop"
) %>%
arrange(desc(total))
top10_econ <- econ %>% slice_max(order_by = total, n = 10)
ggplot(top10_econ,
aes(x = reorder(EVTYPE, total), y = total/1e9)) +
geom_col() +
coord_flip() +
labs(title = "Top 10 Event Types With Greatest Economic Consequences",
x = "Event Type",
y = "Total Damage (Billion USD)")
The plot shows that floods, hurricanes/typhoons, and tornadoes drive the
highest overall economic losses when combining property and crop
damage.