knitr::opts_chunk$set(echo = TRUE)

Storms and other severe weather events can cause both public health and economic problems for communities and municipalities. Many severe events can result in fatalities, injuries, and property damage, and preventing such outcomes to the extent possible is a key concern.

This project involves exploring the U.S. National Oceanic and Atmospheric Administration’s (NOAA) storm database. This database tracks characteristics of major storms and weather events in the United States, including when and where they occur, as well as estimates of any fatalities, injuries, and property damage.

Data Processing

library(data.table)
library(ggplot2)

## downloading the file
download.file("https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2", "stormdata.csv.bz2")

## reading in the data
data <- read.csv(bzfile("stormdata.csv.bz2"))

Results

## adding up injuries, fatalities, property damagea and crop damage according to event types
aggregatedInjuriesDT <- aggregate(INJURIES~EVTYPE, data, sum)
aggregatedFatalitiesDT <- aggregate(FATALITIES~EVTYPE, data, sum)
aggregatedPropDmgDT <- aggregate(PROPDMG~EVTYPE, data, sum)
aggregatedCropDmgDT <- aggregate(CROPDMG~EVTYPE, data, sum)

## sorting aggregated data sets
sortedInjuriesDT <- aggregatedInjuriesDT[order(aggregatedInjuriesDT$INJURIES , aggregatedInjuriesDT$EVTYPE, decreasing = TRUE), ]
sortedFatalitiesDT <- aggregatedFatalitiesDT[order(aggregatedFatalitiesDT$FATALITIES , aggregatedFatalitiesDT$EVTYPE, decreasing = TRUE), ]
sortedPropDmgDT <- aggregatedPropDmgDT[order(aggregatedPropDmgDT$PROPDMG , aggregatedPropDmgDT$EVTYPE, decreasing = TRUE), ]
sortedCropDmgDT <- aggregatedCropDmgDT[order(aggregatedCropDmgDT$CROPDMG , aggregatedCropDmgDT$EVTYPE, decreasing = TRUE), ]

## grabbing most harmful events, i decided to just take the top 10
mostHarmfulInjuriesEvents <- head(sortedInjuriesDT, n = 10)
mostHarmfulFatalitiesEvents <- head(sortedFatalitiesDT, n = 10)
mostHarmfulPropDmgEvents <- head(sortedPropDmgDT, n = 10)
mostHarmfulCropDmgEvents <- head(sortedCropDmgDT, n = 10)

Plots

library(gridExtra)

## plotting injuries, fatalities, property damage and crop damage related events on a graph

p1 <- qplot(INJURIES, EVTYPE, data = mostHarmfulInjuriesEvents , xlab="Number of Injuries", ylab="Event Type")
p2 <- qplot(FATALITIES, EVTYPE, data = mostHarmfulFatalitiesEvents , xlab="Number of Fatalities", ylab="Event Type")
p3 <- qplot(PROPDMG, EVTYPE, data = mostHarmfulPropDmgEvents, xlab="Property Damage", ylab="Event Type")
p4 <- qplot(CROPDMG, EVTYPE, data = mostHarmfulCropDmgEvents, xlab="crop Damage", ylab="Event Type")

grid.arrange(p1, p2, p3, p4, ncol = 2, nrow = 2)

## From the graphs we can see that most injuries, fatalities and property damamge occur as a result of tornado. 
## The most devastating effect on crop is a result of hail.