The database of the U.S. National Oceanic and Atmospheric Administration (NOAA) tracks characteristics of major weather events, including estimates of fatalities, injuries and property damage. This report tries to answer the question which elements have the biggest negative impact.
The most deadly element is the wind. Storms like hurricanes, tornadoes, etc. are responsible for almost half of the fatalities caused by natural disasters.
Huge property damage is mostly caused by flooding or by storms. The economic consequences of other events are comparatively small.
After loading the data, the table gets condensed by omitting irrelevant variables. In this analysis we focus on the type of events, the number of deaths and the property damage.
rawdata <- read.csv("repdata-data-StormData.csv.bz2", header = T)
options(stringsAsFactors = F)
data <- data.frame(rawdata$EVTYPE, as.numeric(rawdata[, 23]), as.numeric(rawdata[,
24]), as.numeric(rawdata[, 25]), rawdata[, 26], as.numeric(rawdata[, 27]),
rawdata[, 28])
colnames(data) <- c("Event", "fata", "inj", "pdmg", "pdmgexp", "cdmg", "cdmgexp")
For the purpose of this analysis we only consider events which caused fatalities / damages in the billions of dollars.
fatadata <- subset(data, data$fata > 0)
dmgdata <- subset(data, data$pdmgexp == "B")
The disasters can be grouped into five categories: Storms, Floods/Rain, Cold/Ice, Heat/Fire, Other (lightning, mudslides, fog, etc.).
Wind <- c("WINTER STORM", "TORNADO", "TSTM WIND", "HURRICANE OPAL/HIGH WINDS",
"THUNDERSTORM WINDS", "GUSTY WINDS", "HIGH WINDS", "WINTER STORM HIGH WINDS",
"WINTER STORMS", "THUNDERSTORM WIND", "ICE STORM", "STRONG WINDS", "HURRICANE ERIN",
"TORNADOES, TSTM WIND, HAIL", "HURRICANE OPAL", "WIND", "TROPICAL STORM GORDON",
"HIGH WIND", "WIND STORM", "WATERSPOUT/TORNADO", "THUNDERTORM WINDS", "HURRICANE FELIX",
"THUNDERSTORM WIND G52", "TROPICAL STORM", "DRY MICROBURST", "WINDS", "COASTAL STORM",
"HURRICANE", "Strong Winds", "Whirlwind", "STRONG WIND", "COASTALSTORM",
"TSTM WIND (G35)", "GUSTY WIND", "THUNDERSTORM WIND (G40)", "THUNDERSTORM",
"HURRICANE/TYPHOON", "MARINE TSTM WIND", "MARINE THUNDERSTORM WIND", "MARINE STRONG WIND",
"MARINE HIGH WIND", "HURRICANE OPAL", "TORNADOES, TSTM WIND, HAIL", "SEVERE THUNDERSTORM",
"TROPICAL STORM")
Water <- c("RIVER FLOOD", "FLOOD", "RIP CURRENT", "FLOODING", "HEAVY RAIN",
"FLASH FLOOD", "HIGH WIND/SEAS", "HIGH SEAS", "HIGH SURF", "FLOOD/FLASH FLOOD",
"STORM SURGE", "FLASH FLOODING", "URBAN AND SMALL STREAM FLOODIN", "FLOOD/RIVER FLOOD",
"RIVER FLOOD", "RIP CURRENTS/HEAVY SURF", "HEAVY SURF", "RIP CURRENTS",
"HIGH WAVES", "RAPIDLY RISING WATER", "FLASH FLOODING/FLOOD", "EXCESSIVE RAINFALL",
"FLASH FLOOD/FLOOD", "MINOR FLOODING", "RIVER FLOODING", "HEAVY SEAS", "FLOOD & HEAVY RAIN",
"FLASH FLOODS", "Heavy Surf", "ROUGH SURF", "High Surf", "Coastal Flooding",
"HIGH SWELLS", "ROUGH SEAS", "HIGH WATER", "COASTAL FLOODING", "DROWNING",
"HEAVY SURF/HIGH SURF", "COASTAL FLOOD", "TSUNAMI", "STORM SURGE/TIDE")
Ice <- c("HAIL", "COLD", "EXTREME COLD", "HEAVY SNOW", "BLIZZARD", "FREEZING RAIN/SNOW",
"THUNDERSNOW", "FREEZING RAIN", "SNOW AND ICE", "ICE", "FREEZE", "COLD WAVE",
"AVALANCE", "HEAVY SNOW AND HIGH WINDS", "FOG AND COLD TEMPERATURES", "SNOW",
"ICY ROADS", "BLOWING SNOW", "UNSEASONABLY COLD", "LOW TEMPERATURE", "HYPOTHERMIA",
"RECORD COLD", "SNOW/ BITTER COLD", "COLD/WINDS", "COLD WEATHER", "GLAZE",
"AVALANCHE", "Extreme Cold", "Extended Cold", "EXTREME WINDCHILL", "Cold",
"Cold Temperature", "COLD AND SNOW", "Hypothermia/Exposure", "HYPOTHERMIA/EXPOSURE",
"BLACK ICE", "blowing snow", "FROST", "FREEZING DRIZZLE", "Snow Squalls",
"SNOW SQUALL", "WINTRY MIX", "LIGHT SNOW", "FALLING SNOW/ICE", "ICE ON ROAD",
"EXTREME COLD/WIND CHILL", "WINTER WEATHER/MIX", "COLD/WIND CHILL", "WINTER WEATHER")
Fire <- c("WILD/FOREST FIRE", "HEAT", "EXCESSIVE HEAT", "WILD FIRES", "HEAT WAVE",
"UNSEASONABLY WARM", "EXTREME HEAT", "UNSEASONABLY WARM AND DRY", "HEAT WAVES",
"HEAT WAVE DROUGHT", "RECORD/EXCESSIVE HEAT", "DROUGHT/EXCESSIVE HEAT",
"WILD/FOREST FIRE", "HYPERTHERMIA/EXPOSURE", "RECORD HEAT", "WILDFIRE")
fatadatagr <- fatadata
dmgdatagr <- dmgdata
for (i in 1:nrow(fatadata)) {
if (fatadatagr[i, 1] %in% Wind) {
fatadatagr[i, 8] <- "Storm"
} else if (fatadatagr[i, 1] %in% Water) {
fatadatagr[i, 8] <- "Flood/Rain"
} else if (fatadatagr[i, 1] %in% Ice) {
fatadatagr[i, 8] <- "Cold/Ice"
} else if (fatadatagr[i, 1] %in% Fire) {
fatadatagr[i, 8] <- "Fire/Heat"
} else {
fatadatagr[i, 8] <- "Other"
}
}
for (j in 1:nrow(dmgdata)) {
if (dmgdatagr[j, 1] %in% Wind) {
dmgdatagr[j, 8] <- "Storm"
} else if (dmgdatagr[j, 1] %in% Water) {
dmgdatagr[j, 8] <- "Flood/Rain"
} else if (dmgdatagr[j, 1] %in% Ice) {
dmgdatagr[j, 8] <- "Cold/Ice"
} else if (dmgdatagr[j, 1] %in% Fire) {
dmgdatagr[j, 8] <- "Fire/Heat"
} else {
dmgdatagr[j, 8] <- "Other"
}
}
colnames(fatadatagr) <- c("Event", "fata", "inj", "pdmg", "pdmgexp", "cdmg",
"cdmgexp", "EvGroup")
colnames(dmgdatagr) <- c("Event", "fata", "inj", "pdmg", "pdmgexp", "cdmg",
"cdmgexp", "EvGroup")
Almost half of the fatalities (7,340) occur due to storms like hurricanes, tornadoes, etc. The most cost-intensive catastrophes are flooding ($175b) and storms ($94b).
fatal <- aggregate(fata ~ EvGroup, data = fatadatagr, FUN = sum)
fatal <- fatal[order(fatal$fata, decreasing = T), ]
barplot(fatal$fata, col = "darkred", main = "Number of Deaths", names.arg = c("Wind",
"Fire", "Water", "Ice", "Other"))
damages <- aggregate(pdmg ~ EvGroup, data = dmgdatagr, FUN = sum)
damages <- damages[order(damages$pdmg, decreasing = T), ]
barplot(damages$pdmg, col = "seagreen", main = "Damages (in billion $)", names.arg = c("Water",
"Wind", "Fire", "Other", "Ice"))