Analysis of the NOAA Storm Database on Public Health and Economic Impact

Synopsis:

This analysis explores the U.S. National Oceanic and Atmospheric Administration’s (NOAA) storm database to identify severe weather events impacting public health and the economy. The data, spanning from 1950 to November 2011, includes events recorded across the United States. Key variables analyzed include event types, fatalities, injuries, and economic damages to property and crops. The analysis aims to determine which event types are most harmful to population health and have the greatest economic consequences. Using R for data processing and visualization, the analysis highlights the most significant weather events in terms of human impact and economic loss. Findings from this study can aid in resource prioritization and emergency preparedness for severe weather events.


Data Processing

# Loading required libraries
library(readr)
library(dplyr)
library(ggplot2)

# Reading the compressed CSV data into R
storm_data <- read_csv("repdata-data-StormData.csv.bz2")

# Processing the data
storm_data <- storm_data %>%
  mutate(EVTYPE = as.factor(EVTYPE),
         PROPDMGEXP = as.factor(PROPDMGEXP),
         CROPDMGEXP = as.factor(CROPDMGEXP))

Results

1. Impact on Public Health

# Summarizing fatalities and injuries by event type
health_impact <- storm_data %>%
  group_by(EVTYPE) %>%
  summarise(Total_Fatalities = sum(FATALITIES),
            Total_Injuries = sum(INJURIES)) %>%
  mutate(Total_Impact = Total_Fatalities + Total_Injuries) %>%
  arrange(desc(Total_Impact))

# Visualizing the top 10 most harmful events for population health
ggplot(head(health_impact, 10), aes(x = reorder(EVTYPE, Total_Impact), y = Total_Impact)) +
  geom_bar(stat = "identity", fill = "steelblue") +
  coord_flip() +
  labs(title = "Top 10 Weather Events Impacting Population Health",
       x = "Event Type",
       y = "Total Impact (Fatalities + Injuries)")

2. Economic Consequences

# Summarizing property and crop damage by event type
economic_impact <- storm_data %>%
  group_by(EVTYPE) %>%
  summarise(Total_Prop_Dmg = sum(PROPDMG * 10^(as.numeric(PROPDMGEXP))),
            Total_Crop_Dmg = sum(CROPDMG * 10^(as.numeric(CROPDMGEXP)))) %>%
  mutate(Total_Economic_Dmg = Total_Prop_Dmg + Total_Crop_Dmg) %>%
  arrange(desc(Total_Economic_Dmg))

# Visualizing the top 10 events with greatest economic consequences
ggplot(head(economic_impact, 10), aes(x = reorder(EVTYPE, Total_Economic_Dmg), y = Total_Economic_Dmg)) +
  geom_bar(stat = "identity", fill = "tomato") +
  coord_flip() +
  labs(title = "Top 10 Weather Events with Greatest Economic Consequences",
       x = "Event Type",
       y = "Total Economic Damage")