Human & Economic risks in the US from Weather & Storms

Summary

The U.S. National Oceanic and Atmospheric Administration's (NOAA) storm database provides information regarding the occurence and possible human & economic damages from storms and other weather events. We analyzed the database in order to understand which could be regarded as the most harmful events due to the harm in human injuries / deaths , as well as economic values. While Heat and Tornados might be responsible for many human deaths and injuries, flood and storm surges generate more damage in the economy. Tornados and Tropical storms are both the more damaging events for both human cassualties and economy


Data Processing

We are reading data from the The U.S. National Oceanic and Atmospheric Administration's (NOAA) storm database

National Weather Service Storm Data Documentation - Document

National Climatic Data Center Storm Events FAQ - FAQ

setwd('~/Dropbox/Coursera - R/Reproducible Research/Proy2/')
#Load CSV file 
storm <- read.csv("storm.csv.bz2")

Once we have all the data in, we create a subset to focus only in the events, human deaths & injuries, crop & property damages.

subStorm<-subset(storm, select=c("EVTYPE","INJURIES","FATALITIES", "PROPDMG","PROPDMGEXP" ,"CROPDMG", "CROPDMGEXP"))

With that subset we can begin to understand which events create more damage for population health. We will be sorting the database first by deaths and then by injuries in order to get the types of events which create the most harm for human population

stormH<-subStorm[with(subStorm, order(-FATALITIES, -INJURIES)), ]

By analyzing the relationship between injuries and fatalities we understand that most events create less than 200 injuries and less than a thousand deaths. Very few events go outside these ranges, as it can be seen in the figure 1.

library("ggplot2")

fig1<-qplot(subStorm$FATALITIES, subStorm$INJURIES, data = subStorm, color = EVTYPE,
xlab = "Injuries", ylab = "Fatalities",
main = "Fig. 1. Injuries vs fatalities by Event Type")

fig1 + theme(legend.position="none") 

plot of chunk Injuries & Fatalities by Event Type

We need to add the exponents to the dataset in order to make sure we have the correct amounts of damage for each set

pattern <- c("^$|[-?+]"="0", "[hH]"="100", "[kK]"="1000", "[mM]"="1000000", "[bB]"="1000000000")
for (i in names(pattern)) {
  subStorm$PROPDMGEXP<-sub(i, pattern[i], subStorm$PROPDMGEXP)
  subStorm$CROPDMGEXP<-sub(i, pattern[i], subStorm$CROPDMGEXP)
}

subStorm$PROPDMG<- as.numeric(as.character(subStorm$PROPDMG))
subStorm$CROPDMG<- as.numeric(as.character(subStorm$CROPDMG))
subStorm$PROPDMGEXP<- as.numeric(as.character(subStorm$PROPDMGEXP))
subStorm$CROPDMGEXP<- as.numeric(as.character(subStorm$CROPDMGEXP))


subStorm$PROPDMG<- subStorm$PROPDMG * subStorm$PROPDMGEXP
subStorm$CROPDMG<- subStorm$CROPDMG * subStorm$CROPDMGEXP

We will now sort according to property and crop damages and create a different data set

stormE<-subStorm[with(subStorm, order(-PROPDMG, -CROPDMG)), ]

By analyzing the relationship between property & crop damages we understand that most events create less than 30M & 1E9 damage in economy. Very few events go outside these ranges, as it can be seen in the figure 2.

library("ggplot2")
fig2<-qplot(subStorm$CROPDMG, subStorm$PROPDMG, data = subStorm, color = EVTYPE,
      xlab = "Crop Damage", ylab = "Property  Damage",
      main = "Fig. 2 Crop & property damage by Event Type") 
fig2 + theme(legend.position="none") 

plot of chunk Crop & property damages by Event Type

Results

TOP 10 events by death & injuries

topHarmfulE<-unique(stormH$EVTYPE)
topHarmfulE<-as.data.frame(topHarmfulE)
print(head(topHarmfulE, n=10L))
##                   topHarmfulE
## 1                        HEAT
## 2                     TORNADO
## 3              EXCESSIVE HEAT
## 4                EXTREME HEAT
## 5                   HEAT WAVE
## 6                     TSUNAMI
## 7   UNSEASONABLY WARM AND DRY
## 8  TORNADOES, TSTM WIND, HAIL
## 9              TROPICAL STORM
## 10                FLASH FLOOD

TOP 10 events by costs

topEconomic<-unique(stormE$EVTYPE)
topEconomic<-as.data.frame(topEconomic)
print(head(topEconomic, n=10L))
##                  topEconomic
## 1                      FLOOD
## 2                STORM SURGE
## 3          HURRICANE/TYPHOON
## 4             TROPICAL STORM
## 5                RIVER FLOOD
## 6               WINTER STORM
## 7           STORM SURGE/TIDE
## 8                  HURRICANE
## 9                    TORNADO
## 10 HEAVY RAIN/SEVERE WEATHER

We can conclude that according to the research events related to heat and tornados bring with them the most injuries and human cassualties. In economic terms , the most harmful events are related to floods, hurricanes and storms.

In both economic and human damage, Tornados and Tropical storms are both the more damaging events for both human cassualties and economy