Storms and other severe weather events can cause both public health and economic problems for communities and municipalities resulting in fatalities, injuries, and property damage. In this study, the U.S. National Oceanic and Atmospheric Administration’s (NOAA) storm database was explored for the characteristics of major storms and weather events in the United States.This include the time and location of occurence as well as estimates of any fatalities, injuries, and property damage.The analysis of these provided a good insight into trend and this may be a veritable tool for preparing reponse plans for severe weather events.
The data was downloaded from the course web site: Storm Data[47Mb]. More about the database can be found at
National Weather Service Storm Data Documentation and National Climatic Data Center Storm Events FAQ. Here you will find how some of the variables are constructed/defined.
The data was downloaded and saved in the working directory. It was unzipped and further Processed.
if (!file.exists("proj")){
dir.create("proj")
}
download.file("https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2","proj/StormData.csv.bz2")
datedownloaded<-date()
StormData<-read.csv(bzfile("proj/StormData.csv.bz2"))
head(StormData)
## STATE__ BGN_DATE BGN_TIME TIME_ZONE COUNTY COUNTYNAME STATE
## 1 1 4/18/1950 0:00:00 0130 CST 97 MOBILE AL
## 2 1 4/18/1950 0:00:00 0145 CST 3 BALDWIN AL
## 3 1 2/20/1951 0:00:00 1600 CST 57 FAYETTE AL
## 4 1 6/8/1951 0:00:00 0900 CST 89 MADISON AL
## 5 1 11/15/1951 0:00:00 1500 CST 43 CULLMAN AL
## 6 1 11/15/1951 0:00:00 2000 CST 77 LAUDERDALE AL
## EVTYPE BGN_RANGE BGN_AZI BGN_LOCATI END_DATE END_TIME COUNTY_END
## 1 TORNADO 0 0
## 2 TORNADO 0 0
## 3 TORNADO 0 0
## 4 TORNADO 0 0
## 5 TORNADO 0 0
## 6 TORNADO 0 0
## COUNTYENDN END_RANGE END_AZI END_LOCATI LENGTH WIDTH F MAG FATALITIES
## 1 NA 0 14.0 100 3 0 0
## 2 NA 0 2.0 150 2 0 0
## 3 NA 0 0.1 123 2 0 0
## 4 NA 0 0.0 100 2 0 0
## 5 NA 0 0.0 150 2 0 0
## 6 NA 0 1.5 177 2 0 0
## INJURIES PROPDMG PROPDMGEXP CROPDMG CROPDMGEXP WFO STATEOFFIC ZONENAMES
## 1 15 25.0 K 0
## 2 0 2.5 K 0
## 3 2 25.0 K 0
## 4 2 2.5 K 0
## 5 2 2.5 K 0
## 6 6 2.5 K 0
## LATITUDE LONGITUDE LATITUDE_E LONGITUDE_ REMARKS REFNUM
## 1 3040 8812 3051 8806 1
## 2 3042 8755 0 0 2
## 3 3340 8742 0 0 3
## 4 3458 8626 0 0 4
## 5 3412 8642 0 0 5
## 6 3450 8748 0 0 6
dim(StormData)
## [1] 902297 37
Aggregating the event types by health impact
fatalities <- aggregate(StormData$FATALITIES ~ StormData$EVTYPE, FUN=sum)
injuries <- aggregate(StormData$INJURIES ~ StormData$EVTYPE, FUN=sum)
Aggregating the event types by economic impact
prop <- aggregate(StormData$PROPDMG ~ StormData$EVTYPE, FUN=sum)
crop <- aggregate(StormData$CROPDMG ~ StormData$EVTYPE, FUN=sum)
Taking out 0 values and finding the top 5%, then choosing only values above this “quantile”, and then sorting in reverse order
fatalities <- fatalities[!fatalities[,2] == 0, ]
fatalities.quantile <- quantile(fatalities[,2], 0.95)
fatalities <- fatalities[fatalities[,2] > fatalities.quantile, ]
fatalities <- fatalities[ order(-fatalities[,2], fatalities[,1]), ]
injuries <- injuries[!injuries[,2] == 0, ]
injuries.quantile <- quantile(injuries[,2], 0.95)
injuries <- injuries[injuries[,2] > injuries.quantile, ]
injuries <- injuries[ order(-injuries[,2], injuries[,1]), ]
crop <- crop[!crop[,2] == 0, ]
crop.quantile <- quantile(crop[,2], 0.95)
crop <- crop[crop[,2] > crop.quantile, ]
crop <- crop[ order(-crop[,2], crop[,1]), ]
prop <- prop[!prop[,2] == 0, ]
prop.quantile <- quantile(prop[,2], 0.95)
prop <- prop[prop[,2] > prop.quantile, ]
prop <- prop[ order(-prop[,2], prop[,1]), ]
First,the population health impacts were plotted after which the Economics impact plots were generated
par(mfrow = c(1,2), mar=c(12,4,3,2))
barplot(names.arg=fatalities[,1], height=fatalities[,2],las=2, main="Fatalities by Event Type")
barplot(names.arg=injuries[,1], height=injuries[,2], las=2, main="Injuries by Event Type")
barplot(names.arg=prop[,1], height=prop[,2], cex.names=1, las=2, main="Property Damage by Event Type")
barplot(names.arg=crop[,1], height=crop[,2], cex.names=1, las=2, main="Crop Damage by Event Type")
The result shows that Tornado poses most harmful threat to population health. From the results it was also revealed that Tornado had the greatest negative impact on the economy through property damage while hail have the greatest economic consequences due to crop damage.
The results from this study showed that the USA suffered health and economic damages more from Tornado and hail compared to other severe weather events.This understanding can help in prioritizing resources for response plans to severe weather events.