TORNADO is the deadliest weather phenomenon that has occurred in the United States for the past six decades now. It has claimed almost 6,000 human lives and more than 90,000 human injuries. About 57 billion dollars and about 415 million dollars in property and crop damages, respectively, were also caused by TORNADO.
However, it is FLOOD and DROUGHT that claimed the most economic consequences for property and crop damages, respectively, where FLOOD has destroyed about 150 billion dollars worth of property while DROUGHT has destroyed about 14 billion dollars worth of crops in the U.S. for the past 60 years.
Other weather events worth mentioning that also claimed disastrous economic consequences in property damages for the past 60 years are HURRICANE (TYPHOON) with 85 billion dollars in damages and STORM SURGE/TIDE with 47 billion dollars in damages also. In crop damages for the past 60 years, we have FLOOD with about 11 billion dollars and HURRICANE (TYPHOON) with about 6 billion dollars.
Furthermore each of the following weather events EXCESSIVE HEAT, HEAT, and FLASH FLOODS has caused at least a thousand lives in the past 60 years.
In the rest of this paper, we shall show how we have arrived at these figures.
We shall explore the NOAA Storm Database to answer the following questions about severe weather events.
The dataset in the NOAA Storm Database which we shall process and analyze to answer the above-questions is called “StormData.csv.bz2”.
The original dataset is a “comma-separated values (CSV) file” but stored as “StormData.csv.bz2”. A bz2 file is a compressed file developed by Julian Seward. The compressed file is only about 49.2 megabytes but the uncompressed file requires about a half gigabyte of storage space.
To read this file we shall use a composition of two R functions: read.csv(bzfile(…)).
There is no need to extract the dataset in full. We shall only extract the variables/columns that are needed in answering the problems.
filename <- "StormData.csv.bz2"
data5rows <- read.csv(bzfile(filename),nrow=5)
sprintf("number of variables/columns = %d", dim(data5rows)[2])
## [1] "number of variables/columns = 37"
names(data5rows)
## [1] "STATE__" "BGN_DATE" "BGN_TIME" "TIME_ZONE" "COUNTY"
## [6] "COUNTYNAME" "STATE" "EVTYPE" "BGN_RANGE" "BGN_AZI"
## [11] "BGN_LOCATI" "END_DATE" "END_TIME" "COUNTY_END" "COUNTYENDN"
## [16] "END_RANGE" "END_AZI" "END_LOCATI" "LENGTH" "WIDTH"
## [21] "F" "MAG" "FATALITIES" "INJURIES" "PROPDMG"
## [26] "PROPDMGEXP" "CROPDMG" "CROPDMGEXP" "WFO" "STATEOFFIC"
## [31] "ZONENAMES" "LATITUDE" "LONGITUDE" "LATITUDE_E" "LONGITUDE_"
## [36] "REMARKS" "REFNUM"
The event types of significant weather phenomena is named EVTYPE. It is located in index 8 of the list of names.
The variables/columns that can most likely answer the question on the type of events that are most harmful to population health are FATALITIES and INJURIES.
The variables/columns that can can most likely answer the question on the types of events that have the greatest economic consequences are property damages and crop damages. These are named as PROPDMG, PROPDMGEXP and CROPDMG, CROPDMGEXP, respectively.
Upon carefully examining the documentation of this dataset, PROPDMG and CROPDMG are of class numeric while PROPDMGEXP and CROPDMGEXP are of class characters consisting of either 0, K, M or B such that if PROPDMG== \(a\) or CROPDMG== \(a\), and if PROPDMGEXP== \(e\) or CROPDMGEXP== \(e\), then the value of the damage in U.S. dollars caused by the weather event is equal to
| VALUE | if \(e = \ldots\) |
|---|---|
| USD \(a\) | \(0\) |
| USD \(a \times 1,000\) | K |
| USD \(a \times 1,000,000\) | M |
| USD \(a \times 1,000,000,000\) | B |
indexFat <- which(names(data5rows)=="FATALITIES")
indexInj <- which(names(data5rows)=="INJURIES")
indexProp <- which(names(data5rows)=="PROPDMG")
indexPropExp <- which(names(data5rows)=="PROPDMGEXP")
indexCrop <- which(names(data5rows)=="CROPDMG")
indexCropExp <- which(names(data5rows)=="CROPDMGEXP")
| VARIABLE | INDEX |
|---|---|
FATALITIES |
23 |
INJURIES |
24 |
PROPDMG |
25 |
PROPDMGEXP |
26 |
CROPDMG |
27 |
CROPDMGEXP |
28 |
We now extract all the data in columns 8, 23, 24, 25, 26, 27, 28 of the dataset.
stormData <- read.csv(bzfile(filename),
colClasses=c(rep("NULL",7),
NA,
rep("NULL",14),
rep(NA,6),
rep("NULL",9)))
nrows1 = nrow(stormData)
This dataset stormData has 902,297 observations and 7 variables.
library(dplyr)
##
## Attaching package: 'dplyr'
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
stormData2 <- filter(stormData, (FATALITIES != 0)|(INJURIES != 0)|(PROPDMG != 0)|(CROPDMG != 0))
nrows2 <- nrow(stormData2)
This revised dataset stormData2 has 254,633 rows. This is about 28.2 percent of the original number of rows.
stormData2.uniqueNames <- sort(as.character(unique(stormData2$EVTYPE)))
uniqueNames
## [1] " HIGH SURF ADVISORY" " FLASH FLOOD"
## [3] " TSTM WIND" " TSTM WIND (G45)"
## [5] "?" "AGRICULTURAL FREEZE"
## [7] "APACHE COUNTY" "ASTRONOMICAL HIGH TIDE"
## [9] "ASTRONOMICAL LOW TIDE" "AVALANCE"
## [11] "AVALANCHE" "Beach Erosion"
## [13] "BLACK ICE" "BLIZZARD"
## [15] "BLIZZARD/WINTER STORM" "BLOWING DUST"
## [17] "blowing snow" "BLOWING SNOW"
## [19] "BREAKUP FLOODING" "BRUSH FIRE"
## [21] "COASTAL FLOODING/EROSION" "COASTAL EROSION"
## [23] "Coastal Flood" "COASTAL FLOOD"
## [25] "Coastal Flooding" "COASTAL FLOODING"
## [27] "COASTAL FLOODING/EROSION" "Coastal Storm"
## [29] "COASTAL STORM" "COASTAL SURGE"
## [31] "COASTALSTORM" "Cold"
## [33] "COLD" "COLD AIR TORNADO"
## [35] "COLD AND SNOW" "COLD AND WET CONDITIONS"
## [37] "Cold Temperature" "COLD WAVE"
## [39] "COLD WEATHER" "COLD/WIND CHILL"
## [41] "COLD/WINDS" "COOL AND WET"
## [43] "DAM BREAK" "Damaging Freeze"
## [45] "DAMAGING FREEZE" "DENSE FOG"
## [47] "DENSE SMOKE" "DOWNBURST"
## [49] "DROUGHT" "DROUGHT/EXCESSIVE HEAT"
## [51] "DROWNING" "DRY MICROBURST"
## [53] "DRY MIRCOBURST WINDS" "Dust Devil"
## [55] "DUST DEVIL" "DUST DEVIL WATERSPOUT"
## [57] "DUST STORM" "DUST STORM/HIGH WINDS"
## [59] "Early Frost" "Erosion/Cstl Flood"
## [61] "EXCESSIVE HEAT" "EXCESSIVE RAINFALL"
## [63] "EXCESSIVE SNOW" "EXCESSIVE WETNESS"
## [65] "Extended Cold" "Extreme Cold"
## [67] "EXTREME COLD" "EXTREME COLD/WIND CHILL"
## [69] "EXTREME HEAT" "EXTREME WIND CHILL"
## [71] "EXTREME WINDCHILL" "FALLING SNOW/ICE"
## [73] "FLASH FLOOD" "FLASH FLOOD - HEAVY RAIN"
## [75] "FLASH FLOOD FROM ICE JAMS" "FLASH FLOOD LANDSLIDES"
## [77] "FLASH FLOOD WINDS" "FLASH FLOOD/"
## [79] "FLASH FLOOD/ STREET" "FLASH FLOOD/FLOOD"
## [81] "FLASH FLOOD/LANDSLIDE" "FLASH FLOODING"
## [83] "FLASH FLOODING/FLOOD" "FLASH FLOODING/THUNDERSTORM WI"
## [85] "FLASH FLOODS" "FLOOD"
## [87] "FLOOD & HEAVY RAIN" "FLOOD FLASH"
## [89] "FLOOD/FLASH" "FLOOD/FLASH FLOOD"
## [91] "FLOOD/FLASH/FLOOD" "FLOOD/FLASHFLOOD"
## [93] "FLOOD/RAIN/WINDS" "FLOOD/RIVER FLOOD"
## [95] "FLOODING" "FLOODING/HEAVY RAIN"
## [97] "FLOODS" "FOG"
## [99] "FOG AND COLD TEMPERATURES" "FOREST FIRES"
## [101] "Freeze" "FREEZE"
## [103] "Freezing drizzle" "Freezing Drizzle"
## [105] "FREEZING DRIZZLE" "FREEZING FOG"
## [107] "Freezing Rain" "FREEZING RAIN"
## [109] "FREEZING RAIN/SLEET" "FREEZING RAIN/SNOW"
## [111] "Freezing Spray" "FROST"
## [113] "Frost/Freeze" "FROST/FREEZE"
## [115] "FROST\\FREEZE" "FUNNEL CLOUD"
## [117] "Glaze" "GLAZE"
## [119] "GLAZE ICE" "GLAZE/ICE STORM"
## [121] "gradient wind" "Gradient wind"
## [123] "GRADIENT WIND" "GRASS FIRES"
## [125] "GROUND BLIZZARD" "GUSTNADO"
## [127] "GUSTY WIND" "GUSTY WIND/HAIL"
## [129] "GUSTY WIND/HVY RAIN" "Gusty wind/rain"
## [131] "Gusty winds" "Gusty Winds"
## [133] "GUSTY WINDS" "HAIL"
## [135] "HAIL 0.75" "HAIL 075"
## [137] "HAIL 100" "HAIL 125"
## [139] "HAIL 150" "HAIL 175"
## [141] "HAIL 200" "HAIL 275"
## [143] "HAIL 450" "HAIL 75"
## [145] "HAIL DAMAGE" "HAIL/WIND"
## [147] "HAIL/WINDS" "HAILSTORM"
## [149] "HARD FREEZE" "HAZARDOUS SURF"
## [151] "HEAT" "Heat Wave"
## [153] "HEAT WAVE" "HEAT WAVE DROUGHT"
## [155] "HEAT WAVES" "HEAVY LAKE SNOW"
## [157] "HEAVY MIX" "HEAVY PRECIPITATION"
## [159] "HEAVY RAIN" "HEAVY RAIN AND FLOOD"
## [161] "Heavy Rain/High Surf" "HEAVY RAIN/LIGHTNING"
## [163] "HEAVY RAIN/SEVERE WEATHER" "HEAVY RAIN/SMALL STREAM URBAN"
## [165] "HEAVY RAIN/SNOW" "HEAVY RAINS"
## [167] "HEAVY RAINS/FLOODING" "HEAVY SEAS"
## [169] "HEAVY SHOWER" "HEAVY SNOW"
## [171] "HEAVY SNOW AND HIGH WINDS" "HEAVY SNOW AND STRONG WINDS"
## [173] "Heavy snow shower" "HEAVY SNOW SQUALLS"
## [175] "HEAVY SNOW-SQUALLS" "HEAVY SNOW/BLIZZARD"
## [177] "HEAVY SNOW/BLIZZARD/AVALANCHE" "HEAVY SNOW/FREEZING RAIN"
## [179] "HEAVY SNOW/HIGH WINDS & FLOOD" "HEAVY SNOW/ICE"
## [181] "HEAVY SNOW/SQUALLS" "HEAVY SNOW/WIND"
## [183] "HEAVY SNOW/WINTER STORM" "HEAVY SNOWPACK"
## [185] "Heavy Surf" "HEAVY SURF"
## [187] "Heavy surf and wind" "HEAVY SURF COASTAL FLOODING"
## [189] "HEAVY SURF/HIGH SURF" "HEAVY SWELLS"
## [191] "HIGH" "HIGH WINDS"
## [193] "HIGH SEAS" "High Surf"
## [195] "HIGH SURF" "HIGH SWELLS"
## [197] "HIGH TIDES" "HIGH WATER"
## [199] "HIGH WAVES" "HIGH WIND"
## [201] "HIGH WIND (G40)" "HIGH WIND 48"
## [203] "HIGH WIND AND SEAS" "HIGH WIND DAMAGE"
## [205] "HIGH WIND/BLIZZARD" "HIGH WIND/HEAVY SNOW"
## [207] "HIGH WIND/SEAS" "HIGH WINDS"
## [209] "HIGH WINDS HEAVY RAINS" "HIGH WINDS/"
## [211] "HIGH WINDS/COASTAL FLOOD" "HIGH WINDS/COLD"
## [213] "HIGH WINDS/HEAVY RAIN" "HIGH WINDS/SNOW"
## [215] "HURRICANE" "Hurricane Edouard"
## [217] "HURRICANE EMILY" "HURRICANE ERIN"
## [219] "HURRICANE FELIX" "HURRICANE GORDON"
## [221] "HURRICANE OPAL" "HURRICANE OPAL/HIGH WINDS"
## [223] "HURRICANE-GENERATED SWELLS" "HURRICANE/TYPHOON"
## [225] "HVY RAIN" "HYPERTHERMIA/EXPOSURE"
## [227] "HYPOTHERMIA" "Hypothermia/Exposure"
## [229] "HYPOTHERMIA/EXPOSURE" "ICE"
## [231] "ICE AND SNOW" "ICE FLOES"
## [233] "ICE JAM" "Ice jam flood (minor"
## [235] "ICE JAM FLOODING" "ICE ON ROAD"
## [237] "ICE ROADS" "ICE STORM"
## [239] "ICE STORM/FLASH FLOOD" "ICE/STRONG WINDS"
## [241] "ICY ROADS" "Lake Effect Snow"
## [243] "LAKE EFFECT SNOW" "LAKE FLOOD"
## [245] "LAKE-EFFECT SNOW" "LAKESHORE FLOOD"
## [247] "LANDSLIDE" "LANDSLIDES"
## [249] "Landslump" "LANDSPOUT"
## [251] "LATE SEASON SNOW" "LIGHT FREEZING RAIN"
## [253] "Light snow" "Light Snow"
## [255] "LIGHT SNOW" "Light Snowfall"
## [257] "LIGHTING" "LIGHTNING"
## [259] "LIGHTNING WAUSEON" "LIGHTNING AND HEAVY RAIN"
## [261] "LIGHTNING AND THUNDERSTORM WIN" "LIGHTNING FIRE"
## [263] "LIGHTNING INJURY" "LIGHTNING THUNDERSTORM WINDS"
## [265] "LIGHTNING." "LIGHTNING/HEAVY RAIN"
## [267] "LIGNTNING" "LOW TEMPERATURE"
## [269] "MAJOR FLOOD" "Marine Accident"
## [271] "MARINE HAIL" "MARINE HIGH WIND"
## [273] "MARINE MISHAP" "MARINE STRONG WIND"
## [275] "MARINE THUNDERSTORM WIND" "MARINE TSTM WIND"
## [277] "Microburst" "MICROBURST"
## [279] "MICROBURST WINDS" "MINOR FLOODING"
## [281] "MIXED PRECIP" "Mixed Precipitation"
## [283] "MIXED PRECIPITATION" "MUD SLIDE"
## [285] "MUD SLIDES" "MUD SLIDES URBAN FLOODING"
## [287] "Mudslide" "MUDSLIDE"
## [289] "Mudslides" "MUDSLIDES"
## [291] "NON TSTM WIND" "NON-SEVERE WIND DAMAGE"
## [293] "NON-TSTM WIND" "Other"
## [295] "OTHER" "RAIN"
## [297] "RAIN/SNOW" "RAIN/WIND"
## [299] "RAINSTORM" "RAPIDLY RISING WATER"
## [301] "RECORD COLD" "RECORD HEAT"
## [303] "RECORD RAINFALL" "RECORD SNOW"
## [305] "RECORD/EXCESSIVE HEAT" "RIP CURRENT"
## [307] "RIP CURRENTS" "RIP CURRENTS/HEAVY SURF"
## [309] "RIVER AND STREAM FLOOD" "RIVER FLOOD"
## [311] "River Flooding" "RIVER FLOODING"
## [313] "ROCK SLIDE" "ROGUE WAVE"
## [315] "ROUGH SEAS" "ROUGH SURF"
## [317] "RURAL FLOOD" "SEICHE"
## [319] "SEVERE THUNDERSTORM" "SEVERE THUNDERSTORM WINDS"
## [321] "SEVERE THUNDERSTORMS" "SEVERE TURBULENCE"
## [323] "SLEET" "SLEET/ICE STORM"
## [325] "SMALL HAIL" "SMALL STREAM FLOOD"
## [327] "Snow" "SNOW"
## [329] "SNOW ACCUMULATION" "SNOW AND HEAVY SNOW"
## [331] "SNOW AND ICE" "SNOW AND ICE STORM"
## [333] "SNOW FREEZING RAIN" "SNOW SQUALL"
## [335] "Snow Squalls" "SNOW SQUALLS"
## [337] "SNOW/ BITTER COLD" "SNOW/ ICE"
## [339] "SNOW/BLOWING SNOW" "SNOW/COLD"
## [341] "SNOW/FREEZING RAIN" "SNOW/HEAVY SNOW"
## [343] "SNOW/HIGH WINDS" "SNOW/ICE"
## [345] "SNOW/ICE STORM" "SNOW/SLEET"
## [347] "SNOW/SLEET/FREEZING RAIN" "SNOWMELT FLOODING"
## [349] "STORM FORCE WINDS" "STORM SURGE"
## [351] "STORM SURGE/TIDE" "Strong Wind"
## [353] "STRONG WIND" "Strong Winds"
## [355] "STRONG WINDS" "THUDERSTORM WINDS"
## [357] "THUNDEERSTORM WINDS" "THUNDERESTORM WINDS"
## [359] "THUNDERSNOW" "THUNDERSTORM"
## [361] "THUNDERSTORM WINDS" "THUNDERSTORM DAMAGE TO"
## [363] "THUNDERSTORM HAIL" "THUNDERSTORM WIND"
## [365] "THUNDERSTORM WIND (G40)" "THUNDERSTORM WIND 60 MPH"
## [367] "THUNDERSTORM WIND 65 MPH" "THUNDERSTORM WIND 65MPH"
## [369] "THUNDERSTORM WIND 98 MPH" "THUNDERSTORM WIND G50"
## [371] "THUNDERSTORM WIND G52" "THUNDERSTORM WIND G55"
## [373] "THUNDERSTORM WIND G60" "THUNDERSTORM WIND TREES"
## [375] "THUNDERSTORM WIND." "THUNDERSTORM WIND/ TREE"
## [377] "THUNDERSTORM WIND/ TREES" "THUNDERSTORM WIND/AWNING"
## [379] "THUNDERSTORM WIND/HAIL" "THUNDERSTORM WIND/LIGHTNING"
## [381] "THUNDERSTORM WINDS" "THUNDERSTORM WINDS 13"
## [383] "THUNDERSTORM WINDS 63 MPH" "THUNDERSTORM WINDS AND"
## [385] "THUNDERSTORM WINDS G60" "THUNDERSTORM WINDS HAIL"
## [387] "THUNDERSTORM WINDS LIGHTNING" "THUNDERSTORM WINDS."
## [389] "THUNDERSTORM WINDS/ FLOOD" "THUNDERSTORM WINDS/FLOODING"
## [391] "THUNDERSTORM WINDS/FUNNEL CLOU" "THUNDERSTORM WINDS/HAIL"
## [393] "THUNDERSTORM WINDS53" "THUNDERSTORM WINDSHAIL"
## [395] "THUNDERSTORM WINDSS" "THUNDERSTORM WINS"
## [397] "THUNDERSTORMS" "THUNDERSTORMS WIND"
## [399] "THUNDERSTORMS WINDS" "THUNDERSTORMW"
## [401] "THUNDERSTORMWINDS" "THUNDERSTROM WIND"
## [403] "THUNDERTORM WINDS" "THUNERSTORM WINDS"
## [405] "Tidal Flooding" "TIDAL FLOODING"
## [407] "TORNADO" "TORNADO F0"
## [409] "TORNADO F1" "TORNADO F2"
## [411] "TORNADO F3" "TORNADOES"
## [413] "TORNADOES, TSTM WIND, HAIL" "TORNDAO"
## [415] "Torrential Rainfall" "TROPICAL DEPRESSION"
## [417] "TROPICAL STORM" "TROPICAL STORM ALBERTO"
## [419] "TROPICAL STORM DEAN" "TROPICAL STORM GORDON"
## [421] "TROPICAL STORM JERRY" "Tstm Wind"
## [423] "TSTM WIND" "TSTM WIND (G45)"
## [425] "TSTM WIND (41)" "TSTM WIND (G35)"
## [427] "TSTM WIND (G40)" "TSTM WIND (G45)"
## [429] "TSTM WIND 40" "TSTM WIND 45"
## [431] "TSTM WIND 55" "TSTM WIND 65)"
## [433] "TSTM WIND AND LIGHTNING" "TSTM WIND DAMAGE"
## [435] "TSTM WIND G45" "TSTM WIND G58"
## [437] "TSTM WIND/HAIL" "TSTM WINDS"
## [439] "TSTMW" "TSUNAMI"
## [441] "TUNDERSTORM WIND" "TYPHOON"
## [443] "Unseasonable Cold" "UNSEASONABLY COLD"
## [445] "UNSEASONABLY WARM" "UNSEASONABLY WARM AND DRY"
## [447] "UNSEASONAL RAIN" "URBAN AND SMALL"
## [449] "URBAN AND SMALL STREAM FLOODIN" "URBAN FLOOD"
## [451] "URBAN FLOODING" "URBAN FLOODS"
## [453] "URBAN SMALL" "URBAN/SMALL STREAM"
## [455] "URBAN/SMALL STREAM FLOOD" "URBAN/SML STREAM FLD"
## [457] "VOLCANIC ASH" "WARM WEATHER"
## [459] "WATERSPOUT" "WATERSPOUT TORNADO"
## [461] "WATERSPOUT-" "WATERSPOUT-TORNADO"
## [463] "WATERSPOUT/ TORNADO" "WATERSPOUT/TORNADO"
## [465] "WET MICROBURST" "Whirlwind"
## [467] "WHIRLWIND" "WILD FIRES"
## [469] "WILD/FOREST FIRE" "WILD/FOREST FIRES"
## [471] "WILDFIRE" "WILDFIRES"
## [473] "Wind" "WIND"
## [475] "WIND AND WAVE" "Wind Damage"
## [477] "WIND DAMAGE" "WIND STORM"
## [479] "WIND/HAIL" "WINDS"
## [481] "WINTER STORM" "WINTER STORM HIGH WINDS"
## [483] "WINTER STORMS" "WINTER WEATHER"
## [485] "WINTER WEATHER MIX" "WINTER WEATHER/MIX"
## [487] "Wintry Mix" "WINTRY MIX"
The number of unique event names in the dataset stormData2 is 488.
However, the document in page 6 of the pdf file in http://www.ncdc.noaa.gov/stormevents/pd01016005curr.pdf shows that there are 48 event names only. These are given as follows:
stormData2$EVTYPE <- toupper(stormData2$EVTYPE)
stormData2$PROPDMGEXP <- toupper(stormData2$PROPDMGEXP)
stormData2$CROPDMGEXP <- toupper(stormData2$CROPDMGEXP)
eventNames <- read.csv("eventnames.csv", header=TRUE)
eventNames[,2] <- toupper(eventNames[,2])
eventNames[,2]
## [1] "ASTRONOMICAL LOW TIDE" "AVALANCHE"
## [3] "BLIZZARD" "COASTAL FLOOD"
## [5] "COLD/WIND CHILL" "DEBRIS FLOW"
## [7] "DENSE FOG" "DENSE SMOKE"
## [9] "DROUGHT" "DUST DEVIL"
## [11] "DUST STORM" "EXCESSIVE HEAT"
## [13] "EXTREME COLD/WIND CHILL" "FLASH FLOOD"
## [15] "FLOOD" "FROST/FREEZE"
## [17] "FUNNEL CLOUD" "FREEZING FOG"
## [19] "HAIL" "HEAT"
## [21] "HEAVY RAIN" "HEAVY SNOW"
## [23] "HIGH SURF" "HIGH WIND"
## [25] "HURRICANE (TYPHOON)" "ICE STORM"
## [27] "LAKE-EFFECT SNOW" "LAKESHORE FLOOD"
## [29] "LIGHTNING" "MARINE HAIL"
## [31] "MARINE HIGH WIND" "MARINE STRONG WIND"
## [33] "MARINE THUNDERSTORM WIND" "RIP CURRENT"
## [35] "SEICHE" "SLEET"
## [37] "STORM SURGE/TIDE" "STRONG WIND"
## [39] "THUNDERSTORM WIND" "TORNADO"
## [41] "TROPICAL DEPRESSION" "TROPICAL STORM"
## [43] "TSUNAMI" "VOLCANIC ASH"
## [45] "WATERSPOUT" "WILDFIRE"
## [47] "WINTER STORM" "WINTER WEATHER"
Our objective is to reduce the 488 unique event names in the dataset stormData2 by removing the entries which are not in the 48 valid event names.
Hence, the entries in the variable EVTYPE of the dataset must be one of the 48 valid names or a combination of the 48 valid names.
stormData2$EVTYPE <- gsub("^[ ]*","", stormData2$EVTYPE)
sort(unique(stormData2$EVTYPE))
## [1] "?" "AGRICULTURAL FREEZE"
## [3] "APACHE COUNTY" "ASTRONOMICAL HIGH TIDE"
## [5] "ASTRONOMICAL LOW TIDE" "AVALANCE"
## [7] "AVALANCHE" "BEACH EROSION"
## [9] "BLACK ICE" "BLIZZARD"
## [11] "BLIZZARD/WINTER STORM" "BLOWING DUST"
## [13] "BLOWING SNOW" "BREAKUP FLOODING"
## [15] "BRUSH FIRE" "COASTAL FLOODING/EROSION"
## [17] "COASTAL EROSION" "COASTAL FLOOD"
## [19] "COASTAL FLOODING" "COASTAL FLOODING/EROSION"
## [21] "COASTAL STORM" "COASTAL SURGE"
## [23] "COASTALSTORM" "COLD"
## [25] "COLD AIR TORNADO" "COLD AND SNOW"
## [27] "COLD AND WET CONDITIONS" "COLD TEMPERATURE"
## [29] "COLD WAVE" "COLD WEATHER"
## [31] "COLD/WIND CHILL" "COLD/WINDS"
## [33] "COOL AND WET" "DAM BREAK"
## [35] "DAMAGING FREEZE" "DENSE FOG"
## [37] "DENSE SMOKE" "DOWNBURST"
## [39] "DROUGHT" "DROUGHT/EXCESSIVE HEAT"
## [41] "DROWNING" "DRY MICROBURST"
## [43] "DRY MIRCOBURST WINDS" "DUST DEVIL"
## [45] "DUST DEVIL WATERSPOUT" "DUST STORM"
## [47] "DUST STORM/HIGH WINDS" "EARLY FROST"
## [49] "EROSION/CSTL FLOOD" "EXCESSIVE HEAT"
## [51] "EXCESSIVE RAINFALL" "EXCESSIVE SNOW"
## [53] "EXCESSIVE WETNESS" "EXTENDED COLD"
## [55] "EXTREME COLD" "EXTREME COLD/WIND CHILL"
## [57] "EXTREME HEAT" "EXTREME WIND CHILL"
## [59] "EXTREME WINDCHILL" "FALLING SNOW/ICE"
## [61] "FLASH FLOOD" "FLASH FLOOD - HEAVY RAIN"
## [63] "FLASH FLOOD FROM ICE JAMS" "FLASH FLOOD LANDSLIDES"
## [65] "FLASH FLOOD WINDS" "FLASH FLOOD/"
## [67] "FLASH FLOOD/ STREET" "FLASH FLOOD/FLOOD"
## [69] "FLASH FLOOD/LANDSLIDE" "FLASH FLOODING"
## [71] "FLASH FLOODING/FLOOD" "FLASH FLOODING/THUNDERSTORM WI"
## [73] "FLASH FLOODS" "FLOOD"
## [75] "FLOOD & HEAVY RAIN" "FLOOD FLASH"
## [77] "FLOOD/FLASH" "FLOOD/FLASH FLOOD"
## [79] "FLOOD/FLASH/FLOOD" "FLOOD/FLASHFLOOD"
## [81] "FLOOD/RAIN/WINDS" "FLOOD/RIVER FLOOD"
## [83] "FLOODING" "FLOODING/HEAVY RAIN"
## [85] "FLOODS" "FOG"
## [87] "FOG AND COLD TEMPERATURES" "FOREST FIRES"
## [89] "FREEZE" "FREEZING DRIZZLE"
## [91] "FREEZING FOG" "FREEZING RAIN"
## [93] "FREEZING RAIN/SLEET" "FREEZING RAIN/SNOW"
## [95] "FREEZING SPRAY" "FROST"
## [97] "FROST/FREEZE" "FROST\\FREEZE"
## [99] "FUNNEL CLOUD" "GLAZE"
## [101] "GLAZE ICE" "GLAZE/ICE STORM"
## [103] "GRADIENT WIND" "GRASS FIRES"
## [105] "GROUND BLIZZARD" "GUSTNADO"
## [107] "GUSTY WIND" "GUSTY WIND/HAIL"
## [109] "GUSTY WIND/HVY RAIN" "GUSTY WIND/RAIN"
## [111] "GUSTY WINDS" "HAIL"
## [113] "HAIL 0.75" "HAIL 075"
## [115] "HAIL 100" "HAIL 125"
## [117] "HAIL 150" "HAIL 175"
## [119] "HAIL 200" "HAIL 275"
## [121] "HAIL 450" "HAIL 75"
## [123] "HAIL DAMAGE" "HAIL/WIND"
## [125] "HAIL/WINDS" "HAILSTORM"
## [127] "HARD FREEZE" "HAZARDOUS SURF"
## [129] "HEAT" "HEAT WAVE"
## [131] "HEAT WAVE DROUGHT" "HEAT WAVES"
## [133] "HEAVY LAKE SNOW" "HEAVY MIX"
## [135] "HEAVY PRECIPITATION" "HEAVY RAIN"
## [137] "HEAVY RAIN AND FLOOD" "HEAVY RAIN/HIGH SURF"
## [139] "HEAVY RAIN/LIGHTNING" "HEAVY RAIN/SEVERE WEATHER"
## [141] "HEAVY RAIN/SMALL STREAM URBAN" "HEAVY RAIN/SNOW"
## [143] "HEAVY RAINS" "HEAVY RAINS/FLOODING"
## [145] "HEAVY SEAS" "HEAVY SHOWER"
## [147] "HEAVY SNOW" "HEAVY SNOW AND HIGH WINDS"
## [149] "HEAVY SNOW AND STRONG WINDS" "HEAVY SNOW SHOWER"
## [151] "HEAVY SNOW SQUALLS" "HEAVY SNOW-SQUALLS"
## [153] "HEAVY SNOW/BLIZZARD" "HEAVY SNOW/BLIZZARD/AVALANCHE"
## [155] "HEAVY SNOW/FREEZING RAIN" "HEAVY SNOW/HIGH WINDS & FLOOD"
## [157] "HEAVY SNOW/ICE" "HEAVY SNOW/SQUALLS"
## [159] "HEAVY SNOW/WIND" "HEAVY SNOW/WINTER STORM"
## [161] "HEAVY SNOWPACK" "HEAVY SURF"
## [163] "HEAVY SURF AND WIND" "HEAVY SURF COASTAL FLOODING"
## [165] "HEAVY SURF/HIGH SURF" "HEAVY SWELLS"
## [167] "HIGH" "HIGH WINDS"
## [169] "HIGH SEAS" "HIGH SURF"
## [171] "HIGH SURF ADVISORY" "HIGH SWELLS"
## [173] "HIGH TIDES" "HIGH WATER"
## [175] "HIGH WAVES" "HIGH WIND"
## [177] "HIGH WIND (G40)" "HIGH WIND 48"
## [179] "HIGH WIND AND SEAS" "HIGH WIND DAMAGE"
## [181] "HIGH WIND/BLIZZARD" "HIGH WIND/HEAVY SNOW"
## [183] "HIGH WIND/SEAS" "HIGH WINDS"
## [185] "HIGH WINDS HEAVY RAINS" "HIGH WINDS/"
## [187] "HIGH WINDS/COASTAL FLOOD" "HIGH WINDS/COLD"
## [189] "HIGH WINDS/HEAVY RAIN" "HIGH WINDS/SNOW"
## [191] "HURRICANE" "HURRICANE EDOUARD"
## [193] "HURRICANE EMILY" "HURRICANE ERIN"
## [195] "HURRICANE FELIX" "HURRICANE GORDON"
## [197] "HURRICANE OPAL" "HURRICANE OPAL/HIGH WINDS"
## [199] "HURRICANE-GENERATED SWELLS" "HURRICANE/TYPHOON"
## [201] "HVY RAIN" "HYPERTHERMIA/EXPOSURE"
## [203] "HYPOTHERMIA" "HYPOTHERMIA/EXPOSURE"
## [205] "ICE" "ICE AND SNOW"
## [207] "ICE FLOES" "ICE JAM"
## [209] "ICE JAM FLOOD (MINOR" "ICE JAM FLOODING"
## [211] "ICE ON ROAD" "ICE ROADS"
## [213] "ICE STORM" "ICE STORM/FLASH FLOOD"
## [215] "ICE/STRONG WINDS" "ICY ROADS"
## [217] "LAKE EFFECT SNOW" "LAKE FLOOD"
## [219] "LAKE-EFFECT SNOW" "LAKESHORE FLOOD"
## [221] "LANDSLIDE" "LANDSLIDES"
## [223] "LANDSLUMP" "LANDSPOUT"
## [225] "LATE SEASON SNOW" "LIGHT FREEZING RAIN"
## [227] "LIGHT SNOW" "LIGHT SNOWFALL"
## [229] "LIGHTING" "LIGHTNING"
## [231] "LIGHTNING WAUSEON" "LIGHTNING AND HEAVY RAIN"
## [233] "LIGHTNING AND THUNDERSTORM WIN" "LIGHTNING FIRE"
## [235] "LIGHTNING INJURY" "LIGHTNING THUNDERSTORM WINDS"
## [237] "LIGHTNING." "LIGHTNING/HEAVY RAIN"
## [239] "LIGNTNING" "LOW TEMPERATURE"
## [241] "MAJOR FLOOD" "MARINE ACCIDENT"
## [243] "MARINE HAIL" "MARINE HIGH WIND"
## [245] "MARINE MISHAP" "MARINE STRONG WIND"
## [247] "MARINE THUNDERSTORM WIND" "MARINE TSTM WIND"
## [249] "MICROBURST" "MICROBURST WINDS"
## [251] "MINOR FLOODING" "MIXED PRECIP"
## [253] "MIXED PRECIPITATION" "MUD SLIDE"
## [255] "MUD SLIDES" "MUD SLIDES URBAN FLOODING"
## [257] "MUDSLIDE" "MUDSLIDES"
## [259] "NON TSTM WIND" "NON-SEVERE WIND DAMAGE"
## [261] "NON-TSTM WIND" "OTHER"
## [263] "RAIN" "RAIN/SNOW"
## [265] "RAIN/WIND" "RAINSTORM"
## [267] "RAPIDLY RISING WATER" "RECORD COLD"
## [269] "RECORD HEAT" "RECORD RAINFALL"
## [271] "RECORD SNOW" "RECORD/EXCESSIVE HEAT"
## [273] "RIP CURRENT" "RIP CURRENTS"
## [275] "RIP CURRENTS/HEAVY SURF" "RIVER AND STREAM FLOOD"
## [277] "RIVER FLOOD" "RIVER FLOODING"
## [279] "ROCK SLIDE" "ROGUE WAVE"
## [281] "ROUGH SEAS" "ROUGH SURF"
## [283] "RURAL FLOOD" "SEICHE"
## [285] "SEVERE THUNDERSTORM" "SEVERE THUNDERSTORM WINDS"
## [287] "SEVERE THUNDERSTORMS" "SEVERE TURBULENCE"
## [289] "SLEET" "SLEET/ICE STORM"
## [291] "SMALL HAIL" "SMALL STREAM FLOOD"
## [293] "SNOW" "SNOW ACCUMULATION"
## [295] "SNOW AND HEAVY SNOW" "SNOW AND ICE"
## [297] "SNOW AND ICE STORM" "SNOW FREEZING RAIN"
## [299] "SNOW SQUALL" "SNOW SQUALLS"
## [301] "SNOW/ BITTER COLD" "SNOW/ ICE"
## [303] "SNOW/BLOWING SNOW" "SNOW/COLD"
## [305] "SNOW/FREEZING RAIN" "SNOW/HEAVY SNOW"
## [307] "SNOW/HIGH WINDS" "SNOW/ICE"
## [309] "SNOW/ICE STORM" "SNOW/SLEET"
## [311] "SNOW/SLEET/FREEZING RAIN" "SNOWMELT FLOODING"
## [313] "STORM FORCE WINDS" "STORM SURGE"
## [315] "STORM SURGE/TIDE" "STRONG WIND"
## [317] "STRONG WINDS" "THUDERSTORM WINDS"
## [319] "THUNDEERSTORM WINDS" "THUNDERESTORM WINDS"
## [321] "THUNDERSNOW" "THUNDERSTORM"
## [323] "THUNDERSTORM WINDS" "THUNDERSTORM DAMAGE TO"
## [325] "THUNDERSTORM HAIL" "THUNDERSTORM WIND"
## [327] "THUNDERSTORM WIND (G40)" "THUNDERSTORM WIND 60 MPH"
## [329] "THUNDERSTORM WIND 65 MPH" "THUNDERSTORM WIND 65MPH"
## [331] "THUNDERSTORM WIND 98 MPH" "THUNDERSTORM WIND G50"
## [333] "THUNDERSTORM WIND G52" "THUNDERSTORM WIND G55"
## [335] "THUNDERSTORM WIND G60" "THUNDERSTORM WIND TREES"
## [337] "THUNDERSTORM WIND." "THUNDERSTORM WIND/ TREE"
## [339] "THUNDERSTORM WIND/ TREES" "THUNDERSTORM WIND/AWNING"
## [341] "THUNDERSTORM WIND/HAIL" "THUNDERSTORM WIND/LIGHTNING"
## [343] "THUNDERSTORM WINDS" "THUNDERSTORM WINDS 13"
## [345] "THUNDERSTORM WINDS 63 MPH" "THUNDERSTORM WINDS AND"
## [347] "THUNDERSTORM WINDS G60" "THUNDERSTORM WINDS HAIL"
## [349] "THUNDERSTORM WINDS LIGHTNING" "THUNDERSTORM WINDS."
## [351] "THUNDERSTORM WINDS/ FLOOD" "THUNDERSTORM WINDS/FLOODING"
## [353] "THUNDERSTORM WINDS/FUNNEL CLOU" "THUNDERSTORM WINDS/HAIL"
## [355] "THUNDERSTORM WINDS53" "THUNDERSTORM WINDSHAIL"
## [357] "THUNDERSTORM WINDSS" "THUNDERSTORM WINS"
## [359] "THUNDERSTORMS" "THUNDERSTORMS WIND"
## [361] "THUNDERSTORMS WINDS" "THUNDERSTORMW"
## [363] "THUNDERSTORMWINDS" "THUNDERSTROM WIND"
## [365] "THUNDERTORM WINDS" "THUNERSTORM WINDS"
## [367] "TIDAL FLOODING" "TORNADO"
## [369] "TORNADO F0" "TORNADO F1"
## [371] "TORNADO F2" "TORNADO F3"
## [373] "TORNADOES" "TORNADOES, TSTM WIND, HAIL"
## [375] "TORNDAO" "TORRENTIAL RAINFALL"
## [377] "TROPICAL DEPRESSION" "TROPICAL STORM"
## [379] "TROPICAL STORM ALBERTO" "TROPICAL STORM DEAN"
## [381] "TROPICAL STORM GORDON" "TROPICAL STORM JERRY"
## [383] "TSTM WIND" "TSTM WIND (G45)"
## [385] "TSTM WIND (41)" "TSTM WIND (G35)"
## [387] "TSTM WIND (G40)" "TSTM WIND (G45)"
## [389] "TSTM WIND 40" "TSTM WIND 45"
## [391] "TSTM WIND 55" "TSTM WIND 65)"
## [393] "TSTM WIND AND LIGHTNING" "TSTM WIND DAMAGE"
## [395] "TSTM WIND G45" "TSTM WIND G58"
## [397] "TSTM WIND/HAIL" "TSTM WINDS"
## [399] "TSTMW" "TSUNAMI"
## [401] "TUNDERSTORM WIND" "TYPHOON"
## [403] "UNSEASONABLE COLD" "UNSEASONABLY COLD"
## [405] "UNSEASONABLY WARM" "UNSEASONABLY WARM AND DRY"
## [407] "UNSEASONAL RAIN" "URBAN AND SMALL"
## [409] "URBAN AND SMALL STREAM FLOODIN" "URBAN FLOOD"
## [411] "URBAN FLOODING" "URBAN FLOODS"
## [413] "URBAN SMALL" "URBAN/SMALL STREAM"
## [415] "URBAN/SMALL STREAM FLOOD" "URBAN/SML STREAM FLD"
## [417] "VOLCANIC ASH" "WARM WEATHER"
## [419] "WATERSPOUT" "WATERSPOUT TORNADO"
## [421] "WATERSPOUT-" "WATERSPOUT-TORNADO"
## [423] "WATERSPOUT/ TORNADO" "WATERSPOUT/TORNADO"
## [425] "WET MICROBURST" "WHIRLWIND"
## [427] "WILD FIRES" "WILD/FOREST FIRE"
## [429] "WILD/FOREST FIRES" "WILDFIRE"
## [431] "WILDFIRES" "WIND"
## [433] "WIND AND WAVE" "WIND DAMAGE"
## [435] "WIND STORM" "WIND/HAIL"
## [437] "WINDS" "WINTER STORM"
## [439] "WINTER STORM HIGH WINDS" "WINTER STORMS"
## [441] "WINTER WEATHER" "WINTER WEATHER MIX"
## [443] "WINTER WEATHER/MIX" "WINTRY MIX"
DEBRIS FLOW.DEBRIS FLOW is also called in http://www.disastercenter.com as MUD SLIDE, AVALANCHE, MUD FLOW, or LAHAR. According to this site, “LANDSLIDES move slowly and cause damage gradually, whereas others move so rapidly that they can destroy property and take lives suddenly and unexpectedly”. AVALANCHE is listed as one of the 48 valid event names. Hence, it is considered as a different event type from DEBRIS FLOW.
LANDSLIDE is not one of the listed 48 event names.
But based on its description, we can associate LANDSLIDE with the valid event name DEBRIS FLOW. In the dataset, the entries MUD SLIDE, MUDSLIDE, MUD SLIDES, LANDSLIDE, and LANDSLIDES are listed in the EVTYPE column.
Hence, we shall change these event names with the valid name DEBRIS FLOW.
library(plyr)
## -------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## -------------------------------------------------------------------------
##
## Attaching package: 'plyr'
##
## The following objects are masked from 'package:dplyr':
##
## arrange, count, desc, failwith, id, mutate, rename, summarise,
## summarize
snames <- revalue(stormData2$EVTYPE,
c("LANDSLIDE" = "DEBRIS FLOW",
"LANDSLIDES" = "DEBRIS FLOW",
"MUD SLIDE" = "DEBRIS FLOW",
"MUD SLIDES" = "DEBRIS FLOW",
"MUDSLIDE" = "DEBRIS FLOW",
"MUDSLIDES" = "DEBRIS FLOW"
))
stormData3 <- data.frame(EVTYPE=snames, select(stormData2, -EVTYPE))
?We shall remove the symbol ? in stormData3$EVTYPE since it is not a valid event name.
# removing the symbol "?" in EVTYPE
stormData3 <- filter(stormData3, !(EVTYPE=="?"))
stormData3$EVTYPE <- factor(stormData3$EVTYPE)
FROST/FREEZEThe entries AGRICULTURAL FREEZE, DAMAGING FREEZE, FREEZE, FROST\\FREEZE, and HARD FREEZE are not in the 48 valid event names. But, they are most likely referring to the valid event name called FROST/FREEZE. Hence, we synchronize them into FROST/FREEZE.
snames <- revalue(stormData3$EVTYPE,
c("AGRICULTURAL FREEZE" = "FROST/FREEZE",
"DAMAGING FREEZE" = "FROST/FREEZE",
"FREEZE" = "FROST/FREEZE",
"FROST\\FREEZE" = "FROST/FREEZE",
"HARD FREEZE" = "FROST/FREEZE"
))
stormData3 <- data.frame(EVTYPE=snames, select(stormData3, -EVTYPE))
The entries APACHE COUNTY, ASTRONOMICAL HIGH TIDE, BEACH EROSION and so on up to WINTRY MIX are not in the 48 event names. We shall remove them from the stormData3$EVTYPE column.
stormData3 <- filter(stormData3,
!( (EVTYPE == "APACHE COUNTY")|
(EVTYPE == "ASTRONOMICAL HIGH TIDE")|
(EVTYPE == "BEACH EROSION")|
(EVTYPE == "BLACK ICE")|
(EVTYPE == "BLOWING SNOW")|
(EVTYPE == "BREAKUP FLOODING")|
(EVTYPE == "COASTAL EROSION")|
(EVTYPE == "DUST DEVIL")|
(EVTYPE == "COASTAL STORM")|
(EVTYPE == "COASTALSTORM")|
(EVTYPE == "COASTAL SURGE")|
(EVTYPE == "COOL AND WET")|
(EVTYPE == "DAM BREAK")|
(EVTYPE == "DOWNBURST")|
(EVTYPE == "DROWNING")|
(EVTYPE == "DRY MICROBURST")|
(EVTYPE == "DRY MIRCOBURST WINDS")|
(EVTYPE == "EXCESSIVE RAINFALL")|
(EVTYPE == "EXCESSIVE WETNESS")|
(EVTYPE == "EXTENDED COLD")|
(EVTYPE == "FALLING SNOW/ICE")|
(EVTYPE == "FOG AND COLD TEMPERATURES")|
(EVTYPE == "FOG")|
(EVTYPE == "LIGHT FREEZING RAIN")|
(EVTYPE == "SNOW FREEZING RAIN")|
(EVTYPE == "FREEZING RAIN")|
(EVTYPE == "FREEZING RAIN/SNOW")|
(EVTYPE == "FREEZING DRIZZLE")|
(EVTYPE == "FREEZING RAIN/SLEET")|
(EVTYPE == "FREEZING SPRAY")|
(EVTYPE == "SNOW/FREEZING RAIN")|
(EVTYPE == "GLAZE")|
(EVTYPE == "GLAZE ICE")|
(EVTYPE == "GRADIENT WIND")|
(EVTYPE == "HAILSTORM")|
(EVTYPE == "HAZARDOUS SURF")|
(EVTYPE == "HEAVY MIX")|
(EVTYPE == "HEAVY SEAS")|
(EVTYPE == "HEAVY SURF")|
(EVTYPE == "HEAVY SURF AND WIND")|
(EVTYPE == "HEAVY SWELLS")|
(EVTYPE == "HIGH")|
(EVTYPE == "HIGH SEAS")|
(EVTYPE == "HIGH SWELLS")|
(EVTYPE == "HIGH WATER")|
(EVTYPE == "HIGH WAVES")|
(EVTYPE == "HYPERTHERMIA/EXPOSURE")|
(EVTYPE == "HYPOTHERMIA")|
(EVTYPE == "HYPOTHERMIA/EXPOSURE")|
(EVTYPE == "ICE")|
(EVTYPE == "ICE FLOES")|
(EVTYPE == "ICE AND SNOW")|
(EVTYPE == "ICE JAM")|
(EVTYPE == "ICE JAM FLOOD (MINOR")|
(EVTYPE == "ICE JAM FLOODING")|
(EVTYPE == "ICE ON ROAD")|
(EVTYPE == "ICE ROADS")|
(EVTYPE == "ICY ROADS")|
(EVTYPE == "LANDSLUMP")|
(EVTYPE == "LANDSPOUT")|
(EVTYPE == "LATE SEASON SNOW")|
(EVTYPE == "LIGHT SNOW")|
(EVTYPE == "LIGHT SNOWFALL")|
(EVTYPE == "LOW TEMPERATURE")|
(EVTYPE == "MARINE ACCIDENT")|
(EVTYPE == "MARINE MISHAP")|
(EVTYPE == "MICROBURST")|
(EVTYPE == "MICROBURST WINDS")|
(EVTYPE == "MIXED PRECIP")|
(EVTYPE == "MIXED PRECIPITATION")|
(EVTYPE == "NON TSTM WIND")|
(EVTYPE == "NON-SEVERE WIND DAMAGE")|
(EVTYPE == "NON-TSTM WIND")|
(EVTYPE == "OTHER")|
(EVTYPE == "RAIN")|
(EVTYPE == "RAIN/SNOW")|
(EVTYPE == "RAIN/WIND")|
(EVTYPE == "RAINSTORM")|
(EVTYPE == "RAPIDLY RISING WATER")|
(EVTYPE == "ROCK SLIDE")|
(EVTYPE == "ROGUE WAVE")|
(EVTYPE == "ROUGH SEAS")|
(EVTYPE == "ROUGH SURF")|
(EVTYPE == "SEVERE TURBULENCE")|
(EVTYPE == "SNOW")|
(EVTYPE == "SNOW ACCUMULATION")|
(EVTYPE == "SNOW AND ICE")|
(EVTYPE == "SNOW SQUALL")|
(EVTYPE == "SNOW SQUALLS")|
(EVTYPE == "SNOW/ ICE")|
(EVTYPE == "SNOW/ICE")|
(EVTYPE == "THUNDERSNOW")|
(EVTYPE == "UNSEASONABLE COLD")|
(EVTYPE == "UNSEASONABLY COLD")|
(EVTYPE == "UNSEASONABLY WARM")|
(EVTYPE == "UNSEASONABLY WARM AND DRY")|
(EVTYPE == "UNSEASONAL RAIN")|
(EVTYPE == "URBAN AND SMALL")|
(EVTYPE == "URBAN SMALL")|
(EVTYPE == "WARM WEATHER")|
(EVTYPE == "WET MICROBURST")|
(EVTYPE == "WHIRLWIND")|
(EVTYPE == "WIND")|
(EVTYPE == "WIND AND WAVE")|
(EVTYPE == "WIND DAMAGE")|
(EVTYPE == "WINDS")|
(EVTYPE == "WIND STORM")|
(EVTYPE == "WINTER WEATHER")|
(EVTYPE == "WINTER WEATHER MIX")|
(EVTYPE == "WINTER WEATHER/MIX")|
(EVTYPE == "WINTRY MIX")
))
stormData3$EVTYPE <- factor(stormData3$EVTYPE)
6.7.1 There are valid event names that are mispelled. So we use the correct name. For example, AVALANCE with AVALANCHE.
6.7.2 Some entries are not in the list of valid names. But, an entry may refer to a valid name. So we use the valid name. For example, BLOWING DUST is not a valid name but it may refer to DUST STORM. Another case, is the invalid name EXTREME HEAT which refers to the valid name EXCESSIVE HEAT.
6.7.3 Some entries are combinations of the valid event names. We retain these combinations in the list. Each combination is sorted alphabetically. For example, the name LIGHTNING/HEAVY RAIN is included in the list as HEAVY RAIN/LIGHTNING.
6.7.4 Some entries are combinations of a valid name and an invalid name. We retain the valid name. For example, GLAZE/ICE STORM is adjusted as the valid name ICE STORM, since GLAZE is not a valid name.
snames <- revalue(stormData3$EVTYPE,
c("AVALANCE" = "AVALANCHE",
"BLOWING DUST" = "DUST STORM",
"BRUSH FIRE" = "WILDFIRE",
"EROSION/CSTL FLOOD" = "COASTAL FLOOD",
"COASTAL FLOODING" = "COASTAL FLOOD",
"COASTAL FLOODING/EROSION" = "COASTAL FLOOD",
"COASTAL FLOODING/EROSION" = "COASTAL FLOOD",
"HEAVY SURF COASTAL FLOODING" = "COASTAL FLOOD",
"COLD" = "COLD/WIND CHILL",
"COLD AND SNOW" = "COLD/WIND CHILL",
"COLD TEMPERATURE" = "COLD/WIND CHILL",
"COLD WEATHER" = "COLD/WIND CHILL",
"COLD WAVE" = "COLD/WIND CHILL",
"COLD AND WET CONDITIONS" = "COLD/WIND CHILL",
"COLD/WINDS" = "COLD/WIND CHILL",
"COLD AIR TORNADO" = "TORNADO",
"DUST DEVIL WATERSPOUT" = "WATERSPOUT",
"DUST STORM/HIGH WINDS" = "DUST STORM/HIGH WIND",
"EARLY FROST" = "FROST/FREEZE",
"EXCESSIVE SNOW" = "HEAVY SNOW",
"EXTREME COLD" = "EXTREME COLD/WIND CHILL",
"EXTREME HEAT" = "EXCESSIVE HEAT",
"EXTREME WIND CHILL" = "EXTREME COLD/WIND CHILL",
"EXTREME WINDCHILL" = "EXTREME COLD/WIND CHILL",
"FLASH FLOOD - HEAVY RAIN" = "FLASH FLOOD/HEAVY RAIN",
"FLASH FLOOD FROM ICE JAMS" = "FLASH FLOOD",
"FLASH FLOOD LANDSLIDES" = "FLASH FLOOD",
"FLASH FLOOD/LANDSLIDE" = "FLASH FLOOD",
"FLASH FLOOD/" = "FLASH FLOOD",
"FLASH FLOOD/ STREET" = "FLASH FLOOD",
"FLASH FLOOD WINDS" = "FLASH FLOOD",
"FLASH FLOODING" = "FLASH FLOOD",
"FLASH FLOODING/FLOOD" = "FLASH FLOOD",
"FLASH FLOODS" = "FLASH FLOOD",
"FLOOD FLASH" = "FLASH FLOOD",
"FLOOD/FLASH" = "FLASH FLOOD",
"FLOOD/FLASH/FLOOD" = "FLASH FLOOD",
"FLOOD/FLASHFLOOD" = "FLASH FLOOD",
"FLOOD/FLASH FLOOD" = "FLASH FLOOD",
"FLASH FLOOD/FLOOD" = "FLASH FLOOD",
"FLOOD & HEAVY RAIN" = "FLOOD/HEAVY RAIN",
"FLOOD/RIVER FLOOD" = "FLOOD",
"FLASH FLOODING/THUNDERSTORM WI" = "FLASH FLOOD/THUNDERSTORM WIND",
"FLOOD/RAIN/WINDS" = "FLOOD",
"FLOODING" = "FLOOD",
"FLOODING/HEAVY RAIN" = "FLOOD/HEAVY RAIN",
"FLOODS" = "FLOOD",
"FOREST FIRES" = "WILDFIRE",
"FROST" = "FROST/FREEZE",
"GLAZE/ICE STORM" = "ICE STORM",
"GRASS FIRES" = "WILDFIRE",
"GROUND BLIZZARD" = "BLIZZARD",
"GUSTNADO" = "TORNADO",
"GUSTY WIND" = "STRONG WIND",
"GUSTY WINDS" = "STRONG WIND",
"GUSTY WIND/HAIL" = "HAIL/STRONG WIND",
"GUSTY WIND/HVY RAIN" = "HEAVY RAIN/STRONG WIND",
"GUSTY WIND/RAIN" = "STRONG WIND",
"HAIL/WIND" = "HAIL",
"HAIL/WINDS" = "HAIL",
"WIND/HAIL" = "HAIL",
"HAIL 150" = "HAIL",
"HAIL 075" = "HAIL",
"HAIL 100" = "HAIL",
"HAIL 125" = "HAIL",
"HAIL 200" = "HAIL",
"HAIL 0.75" = "HAIL",
"HAIL 75" = "HAIL",
"HAIL 275" = "HAIL",
"HAIL 175" = "HAIL",
"HAIL 450" = "HAIL",
"HAIL DAMAGE" = "HAIL",
"SMALL HAIL" = "HAIL",
"HEAT WAVE" = "HEAT",
"HEAT WAVES" = "HEAT",
"HEAT WAVE DROUGHT" = "DROUGHT/HEAT",
"HEAVY LAKE SNOW" = "LAKE-EFFECT SNOW",
"HEAVY PRECIPITATION" = "HEAVY RAIN",
"HEAVY RAIN AND FLOOD" = "FLOOD/HEAVY RAIN",
"HEAVY RAIN/SEVERE WEATHER" = "HEAVY RAIN",
"HEAVY RAIN/SNOW" = "HEAVY RAIN",
"HEAVY RAINS" = "HEAVY RAIN",
"HEAVY RAIN/SMALL STREAM URBAN" = "FLOOD/HEAVY RAIN",
"HEAVY RAINS/FLOODING" = "FLOOD/HEAVY RAIN",
"HEAVY SHOWER" = "HEAVY RAIN",
"HEAVY SNOW AND HIGH WINDS" = "HEAVY SNOW/HIGH WIND",
"HEAVY SNOW AND STRONG WINDS" = "HEAVY SNOW/STRONG WIND",
"HEAVY SNOW/HIGH WINDS & FLOOD" = "HEAVY SNOW/HIGH WIND/FLOOD",
"HEAVY SNOW/ICE" = "HEAVY SNOW",
"HEAVY SNOW/SQUALLS" = "HEAVY SNOW",
"HEAVY SNOW SQUALLS" = "HEAVY SNOW",
"HEAVY SNOW-SQUALLS" = "HEAVY SNOW",
"HEAVY SNOW/WIND" = "HEAVY SNOW",
"HEAVY SNOWPACK" = "HEAVY SNOW",
"HEAVY SNOW SHOWER" = "HEAVY SNOW",
"HEAVY SNOW/FREEZING RAIN" = "HEAVY SNOW",
"HEAVY SURF/HIGH SURF" = "HIGH SURF",
"HEAVY SNOW/BLIZZARD" = "BLIZZARD/HEAVY SNOW",
"HEAVY SNOW/BLIZZARD/AVALANCHE" = "AVALANCHE/BLIZZARD/HEAVY SNOW",
"HIGH WINDS" = "HIGH WIND",
"HIGH WINDS" = "HIGH WIND",
"HIGH SURF ADVISORY" = "HIGH SURF",
"HIGH TIDES" = "STORM SURGE/TIDE",
"HIGH WIND (G40)" = "HIGH WIND",
"HIGH WIND 48" = "HIGH WIND",
"HIGH WIND AND SEAS" = "HIGH WIND",
"HIGH WIND/SEAS" = "HIGH WIND",
"HIGH WINDS/" = "HIGH WIND",
"HIGH WINDS HEAVY RAINS" = "HEAVY RAIN/HIGH WIND",
"HIGH WINDS/COASTAL FLOOD" = "COASTAL FLOOD/HIGH WIND",
"HIGH WINDS/COLD" = "COLD/WIND CHILL/HIGH WIND",
"HIGH WIND DAMAGE" = "HIGH WIND",
"HIGH WIND/BLIZZARD" = "BLIZZARD/HIGH WIND",
"HIGH WINDS/HEAVY RAIN" = "HEAVY RAIN/HIGH WIND",
"HIGH WINDS/SNOW" = "HIGH WIND",
"HIGH WIND/HEAVY SNOW" = "HEAVY SNOW/HIGH WIND",
"HURRICANE" = "HURRICANE (TYPHOON)",
"HURRICANE EDOUARD" = "HURRICANE (TYPHOON)",
"HURRICANE EMILY" = "HURRICANE (TYPHOON)",
"HURRICANE ERIN" = "HURRICANE (TYPHOON)",
"HURRICANE FELIX" = "HURRICANE (TYPHOON)",
"HURRICANE GORDON" = "HURRICANE (TYPHOON)",
"HURRICANE OPAL" = "HURRICANE (TYPHOON)",
"HURRICANE OPAL/HIGH WINDS" = "HURRICANE (TYPHOON)",
"HURRICANE-GENERATED SWELLS" = "HURRICANE (TYPHOON)",
"HVY RAIN" = "HEAVY RAIN",
"HURRICANE/TYPHOON" = "HURRICANE (TYPHOON)",
"ICE STORM/FLASH FLOOD" = "FLASH FLOOD/ICE STORM",
"ICE/STRONG WINDS" = "STRONG WIND",
"LAKE EFFECT SNOW" = "LAKE-EFFECT SNOW",
"LAKE FLOOD" = "LAKESHORE FLOOD",
"LIGHTING" = "LIGHTNING",
"LIGHTNING WAUSEON" = "LIGHTNING",
"LIGHTNING AND HEAVY RAIN" = "HEAVY RAIN/LIGHTNING",
"LIGHTNING AND THUNDERSTORM WIN" = "LIGHTNING/THUNDERSTORM WIND",
"LIGHTNING FIRE" = "LIGHTNING",
"LIGHTNING INJURY" = "LIGHTNING",
"LIGHTNING THUNDERSTORM WINDS" = "LIGHTNING/THUNDERSTORM WIND",
"LIGHTNING." = "LIGHTNING",
"LIGNTNING" = "LIGHTNING",
"LIGHTNING/HEAVY RAIN" = "HEAVY RAIN/LIGHTNING",
"MAJOR FLOOD" = "FLOOD",
"MARINE TSTM WIND" = "MARINE THUNDERSTORM WIND",
"MINOR FLOODING" = "FLOOD",
"MUD SLIDES URBAN FLOODING" = "DEBRIS FLOW/FLOOD",
"RECORD COLD" = "EXTREME COLD/WIND CHILL",
"RECORD HEAT" = "EXCESSIVE HEAT",
"RECORD RAINFALL" = "HEAVY RAIN",
"RECORD SNOW" = "HEAVY SNOW",
"RECORD/EXCESSIVE HEAT" = "EXCESSIVE HEAT",
"RIP CURRENTS" = "RIP CURRENT",
"RIP CURRENTS/HEAVY SURF" = "RIP CURRENT",
"RIVER AND STREAM FLOOD" = "FLOOD",
"RIVER FLOOD" = "FLOOD",
"RIVER FLOODING" = "FLOOD",
"RURAL FLOOD" = "FLOOD",
"SEVERE THUNDERSTORM" = "THUNDERSTORM WIND",
"SEVERE THUNDERSTORM WINDS" = "THUNDERSTORM WIND",
"SEVERE THUNDERSTORMS" = "THUNDERSTORM WIND",
"SLEET/ICE STORM" = "ICE STORM/SLEET",
"SMALL STREAM FLOOD" = "FLOOD",
"SNOW AND HEAVY SNOW" = "HEAVY SNOW",
"SNOW AND ICE STORM" = "ICE STORM",
"SNOW/BLOWING SNOW" = "HEAVY SNOW",
"SNOW/ BITTER COLD" = "COLD/WIND CHILL",
"SNOW/COLD" = "COLD/WIND CHILL",
"SNOW/HEAVY SNOW" = "HEAVY SNOW",
"SNOW/HIGH WINDS" = "HIGH WIND",
"SNOW/ICE STORM" = "ICE STORM",
"SNOW/SLEET/FREEZING RAIN" = "SLEET",
"SNOWMELT FLOODING" = "FLOOD",
"STORM FORCE WINDS" = "STRONG WIND",
"SNOW/SLEET" = "SLEET",
"STRONG WINDS" = "STRONG WIND",
"STORM SURGE" = "STORM SURGE/TIDE",
"THUNDERSTORM WINDS 13" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND (G40)" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND G50" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND G52" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND G55" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS53" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS." = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS G60" = "THUNDERSTORM WIND",
"TSTM WIND G58" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND 60 MPH" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS 63 MPH" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND 65 MPH" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND 65MPH" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND G60" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND 98 MPH" = "THUNDERSTORM WIND",
"THUDERSTORM WINDS" = "THUNDERSTORM WIND",
"THUNDEERSTORM WINDS" = "THUNDERSTORM WIND",
"THUNDERSTORM" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS" = "THUNDERSTORM WIND",
"THUNDERESTORM WINDS" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND." = "THUNDERSTORM WIND",
"THUNDERSTORM WIND TREES" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND/ TREE" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND/ TREES" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND/AWNING" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS AND" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDS" = "THUNDERSTORM WIND",
"THUNDERSTORM DAMAGE TO" = "THUNDERSTORM WIND",
"THUNDERSTORMS" = "THUNDERSTORM WIND",
"THUNDERSTORMS WINDS" = "THUNDERSTORM WIND",
"THUNDERSTORMW" = "THUNDERSTORM WIND",
"THUNDERSTORMWINDS" = "THUNDERSTORM WIND",
"THUNDERSTROM WIND" = "THUNDERSTORM WIND",
"THUNDERTORM WINDS" = "THUNDERSTORM WIND",
"THUNERSTORM WINDS" = "THUNDERSTORM WIND",
"THUNDERSTORM WINDSS" = "THUNDERSTORM WIND",
"THUNDERSTORM WINS" = "THUNDERSTORM WIND",
"THUNDERSTORMS WIND" = "THUNDERSTORM WIND",
"THUNDERSTORM WIND/HAIL" = "HAIL/THUNDERSTORM WIND",
"THUNDERSTORM HAIL" = "HAIL/THUNDERSTORM WIND",
"THUNDERSTORM WINDSHAIL" = "HAIL/THUNDERSTORM WIND",
"THUNDERSTORM WINDS/HAIL" = "HAIL/THUNDERSTORM WIND",
"THUNDERSTORM WINDS HAIL" = "HAIL/THUNDERSTORM WIND",
"THUNDERSTORM WIND/LIGHTNING" = "LIGHTNING/THUNDERSTORM WIND",
"THUNDERSTORM WINDS LIGHTNING" = "LIGHTNING/THUNDERSTORM WIND",
"THUNDERSTORM WINDS/FLOODING" = "FLOOD/THUNDERSTORM WIND",
"THUNDERSTORM WINDS/ FLOOD" = "FLOOD/THUNDERSTORM WIND",
"THUNDERSTORM WINDS/FUNNEL CLOU" = "FUNNEL CLOUD/THUNDERSTORM WIND",
"TIDAL FLOODING" = "STORM SURGE/TIDE",
"TORNADO F0" = "TORNADO",
"TORNADO F2" = "TORNADO",
"TORNADO F1" = "TORNADO",
"TORNADO F3" = "TORNADO",
"TORNADOES" = "TORNADO",
"TORNDAO" = "TORNADO",
"TORNADOES, TSTM WIND, HAIL" = "HAIL/THUNDERSTORM WIND/TORNADO",
"TORRENTIAL RAINFALL" = "HEAVY RAIN",
"TROPICAL STORM ALBERTO" = "TROPICAL STORM",
"TROPICAL STORM DEAN" = "TROPICAL STORM",
"TROPICAL STORM GORDON" = "TROPICAL STORM",
"TROPICAL STORM JERRY" = "TROPICAL STORM",
"TSTM WIND" = "THUNDERSTORM WIND",
"TSTM WIND 40" = "THUNDERSTORM WIND",
"TSTM WIND 45" = "THUNDERSTORM WIND",
"TSTM WIND 55" = "THUNDERSTORM WIND",
"TSTM WIND 65)" = "THUNDERSTORM WIND",
"TSTM WIND (G45)" = "THUNDERSTORM WIND",
"TSTM WIND G45" = "THUNDERSTORM WIND",
"TSTM WIND (G45)" = "THUNDERSTORM WIND",
"TSTM WIND (41)" = "THUNDERSTORM WIND",
"TSTM WIND (G35)" = "THUNDERSTORM WIND",
"TSTM WIND (G40)" = "THUNDERSTORM WIND",
"TSTM WINDS" = "THUNDERSTORM WIND",
"TSTM WIND DAMAGE" = "THUNDERSTORM WIND",
"TSTM WIND/HAIL" = "HAIL/THUNDERSTORM WIND",
"TSTM WIND AND LIGHTNING" = "LIGHTNING/THUNDERSTORM WIND",
"TSTMW" = "THUNDERSTORM WIND",
"TUNDERSTORM WIND" = "THUNDERSTORM WIND",
"TYPHOON" = "HURRICANE (TYPHOON)",
"URBAN AND SMALL STREAM FLOODIN" = "FLOOD",
"URBAN FLOOD" = "FLOOD",
"URBAN/SMALL STREAM" = "FLOOD",
"URBAN/SML STREAM FLD" = "FLOOD",
"URBAN/SMALL STREAM FLOOD" = "FLOOD",
"URBAN FLOODING" = "FLOOD",
"URBAN FLOODS" = "FLOOD",
"WATERSPOUT TORNADO" = "TORNADO/WATERSPOUT",
"WATERSPOUT-TORNADO" = "TORNADO/WATERSPOUT",
"WATERSPOUT-" = "WATERSPOUT",
"WATERSPOUT/ TORNADO" = "TORNADO/WATERSPOUT",
"WATERSPOUT/TORNADO" = "TORNADO/WATERSPOUT",
"WILD FIRES" = "WILDFIRE",
"WILDFIRES" = "WILDFIRE",
"WILD/FOREST FIRE" = "WILDFIRE",
"WILD/FOREST FIRES" = "WILDFIRE",
"WINTER STORM HIGH WINDS" = "HIGH WIND/WINTER STORM",
"WINTER STORMS" = "WINTER STORM"
))
stormData4 <- data.frame(EVTYPE=snames, select(stormData3, -EVTYPE))
Hence, from 985 unique event names in the original dataset stormData with 902,297 observations we trimmed it to 77 unique valid names or combinations of valid names in the cleaned dataset stormData4 with 253,058 observations.
These unique valid names or the combinations of these valid names are sorted alphabetically and are listed below.
sort(as.character(unique(stormData4$EVTYPE)))
## [1] "ASTRONOMICAL LOW TIDE" "AVALANCHE"
## [3] "AVALANCHE/BLIZZARD/HEAVY SNOW" "BLIZZARD"
## [5] "BLIZZARD/HEAVY SNOW" "BLIZZARD/HIGH WIND"
## [7] "BLIZZARD/WINTER STORM" "COASTAL FLOOD"
## [9] "COASTAL FLOOD/HIGH WIND" "COLD/WIND CHILL"
## [11] "COLD/WIND CHILL/HIGH WIND" "DEBRIS FLOW"
## [13] "DEBRIS FLOW/FLOOD" "DENSE FOG"
## [15] "DENSE SMOKE" "DROUGHT"
## [17] "DROUGHT/EXCESSIVE HEAT" "DROUGHT/HEAT"
## [19] "DUST STORM" "DUST STORM/HIGH WIND"
## [21] "EXCESSIVE HEAT" "EXTREME COLD/WIND CHILL"
## [23] "FLASH FLOOD" "FLASH FLOOD/HEAVY RAIN"
## [25] "FLASH FLOOD/ICE STORM" "FLASH FLOOD/THUNDERSTORM WIND"
## [27] "FLOOD" "FLOOD/HEAVY RAIN"
## [29] "FLOOD/THUNDERSTORM WIND" "FREEZING FOG"
## [31] "FROST/FREEZE" "FUNNEL CLOUD"
## [33] "FUNNEL CLOUD/THUNDERSTORM WIND" "HAIL"
## [35] "HAIL/STRONG WIND" "HAIL/THUNDERSTORM WIND"
## [37] "HAIL/THUNDERSTORM WIND/TORNADO" "HEAT"
## [39] "HEAVY RAIN" "HEAVY RAIN/HIGH SURF"
## [41] "HEAVY RAIN/HIGH WIND" "HEAVY RAIN/LIGHTNING"
## [43] "HEAVY RAIN/STRONG WIND" "HEAVY SNOW"
## [45] "HEAVY SNOW/HIGH WIND" "HEAVY SNOW/HIGH WIND/FLOOD"
## [47] "HEAVY SNOW/STRONG WIND" "HEAVY SNOW/WINTER STORM"
## [49] "HIGH SURF" "HIGH WIND"
## [51] "HIGH WIND/WINTER STORM" "HURRICANE (TYPHOON)"
## [53] "ICE STORM" "ICE STORM/SLEET"
## [55] "LAKE-EFFECT SNOW" "LAKESHORE FLOOD"
## [57] "LIGHTNING" "LIGHTNING/THUNDERSTORM WIND"
## [59] "MARINE HAIL" "MARINE HIGH WIND"
## [61] "MARINE STRONG WIND" "MARINE THUNDERSTORM WIND"
## [63] "RIP CURRENT" "SEICHE"
## [65] "SLEET" "STORM SURGE/TIDE"
## [67] "STRONG WIND" "THUNDERSTORM WIND"
## [69] "TORNADO" "TORNADO/WATERSPOUT"
## [71] "TROPICAL DEPRESSION" "TROPICAL STORM"
## [73] "TSUNAMI" "VOLCANIC ASH"
## [75] "WATERSPOUT" "WILDFIRE"
## [77] "WINTER STORM"
PROPDMGEXP and CROPDMGEXP to their respective multiplier values.We shall adopt the conversion table of Xianing Wang posted in the Discussion Forum of COURSERA’s Course on Reproducible Research entitled Not understanding contents of the PROPDMGEXP and CROPDMGEXP column.
| Character | Multiplier |
|---|---|
| “” (empty) | 0 |
| “?”, “-” | 0 |
| “+” | 1 |
| “0” ~ “9” | 10 |
| “h”, “H” | 100 |
| “k”, “K” | 1,000 |
| “m”, “M” | 1,000,000 |
| “b”, “B” | 1,000,000,000 |
library(plyr)
stormData4$PROPDMGEXP <- as.numeric(mapvalues(stormData4$PROPDMGEXP,
c("","-","+","0","2","3","4","5","6","7","H", "K", "M","B"),
c( 0, 0, 1, 10, 10, 10, 10, 10, 10, 10,100,1000,1000000,1000000000)))
stormData4$CROPDMGEXP <- as.numeric(mapvalues(stormData4$CROPDMGEXP,
c("","?","0", "K", "M", "B"),
c( 0, 0, 10, 1000, 1000000, 1000000000)))
stormData5 <- mutate(stormData4, PROPDMGMUL=PROPDMG*PROPDMGEXP, CROPDMGMUL=CROPDMG*CROPDMGEXP)
library(ggplot2)
ag1 <- aggregate(stormData5$FATALITIES,list(EVTYPE=stormData5$EVTYPE), sum)
ag2 <- aggregate(stormData5$INJURIES,list(EVTYPE=stormData5$EVTYPE), sum)
bg1 <- aggregate(stormData5$PROPDMGMUL,list(EVTYPE=stormData5$EVTYPE), sum)
bg2 <- aggregate(stormData5$CROPDMGMUL,list(EVTYPE=stormData5$EVTYPE), sum)
names(ag1) <- c("EVTYPE", "FATALITIES")
names(ag2) <- c("EVTYPE", "INJURIES")
names(bg1) <- c("EVTYPE", "PROPDMGMUL")
names(bg2) <- c("EVTYPE", "CROPDMGMUL")
ag11 <- arrange(ag1,desc(FATALITIES))[1:10,]
ag11$EVTYPE <- factor(ag11$EVTYPE)
ag12 <- arrange(ag2,desc(INJURIES))[1:10,]
ag12$EVTYPE <- factor(ag12$EVTYPE)
bg11 <- arrange(bg1,desc(PROPDMGMUL))[1:10,]
bg11$EVTYPE <- factor(bg11$EVTYPE)
bg12 <- arrange(bg2,desc(CROPDMGMUL))[1:10,]
bg12$EVTYPE <- factor(bg12$EVTYPE)
From the original dataset “StormData.csv.bz2” provided by the NOAA Storm Database which is a compressed bz2 file we transformed it into a sequence of csv files:
stormData\(\longrightarrow\) stormData2\(\longrightarrow\) stormData3\(\longrightarrow\) stormData4\(\longrightarrow\) stormData5
where stormData5 is the cleaned dataset containing the valid weather event names. We shall analyze this cleaned dataset to come up with the answers to our two questions:
on weather events that are most harmful to U.S. population health, and
on weather events with the greatest economic economic consequences.
p11 <- ggplot(ag11, aes(EVTYPE,FATALITIES, fill=EVTYPE)) + geom_bar(stat="identity")
p11 <- p11 + geom_text(data=ag11,
aes(x=EVTYPE,
y=FATALITIES,
label=format(round(FATALITIES, 0),big.mark=",")),
vjust=0,size=3)
p11 <- p11 + ylim(0,6500)
p11 <- p11 + theme(text = element_text(size=10),
axis.text.x = element_text(angle=15, hjust=1),
axis.text.y = element_blank())
p11 <- p11 + theme(legend.position="none")
p11 <- p11 + scale_size_area() +
ylab("BODY COUNT") +
ggtitle("TEN WEATHER EVENTS THAT ARE MOST HARMFUL TO U.S.
POPULATION HEALTH: ON DEATH COUNTS (JAN. 1950 - NOV. 2011)")
p12 <- ggplot(ag12, aes(EVTYPE,INJURIES, fill=EVTYPE))+geom_bar(stat="identity")
p12 <- p12 + geom_text(data=ag12,
aes(x=EVTYPE,
y=INJURIES,
label=format(round(INJURIES, 0),big.mark=",")),
vjust=0,size=3)
p12 <- p12 + ylim(0,110000)
p12 <- p12 + theme(text = element_text(size=10),
axis.text.x = element_text(angle=15, hjust=1),
axis.text.y = element_blank())
p12 <- p12 + theme(legend.position="none")
p12 <- p12 + scale_size_area() +
ylab("NUMBER OF PERSONS") +
ggtitle("TEN WEATHER EVENTS THAT ARE MOST HARMFUL TO U.S.
POPULATION HEALTH: ON INJURY COUNTS (JAN. 1950 - NOV. 2011)")
myPlotList1 = list(p11, p12)
library(gridExtra)
## Loading required package: grid
do.call(grid.arrange, myPlotList1)
p21 <- ggplot(bg11, aes(EVTYPE, PROPDMGMUL, fill=EVTYPE)) + geom_bar(stat="identity")
p21 <- p21 + geom_text(data=bg11,
aes(x=EVTYPE,
y=PROPDMGMUL,
label=format(round(PROPDMGMUL, 0),big.mark=",")),
vjust=0,size=2.5)
p21 <- p21 + ylim(0,160000000000)
p21 <- p21 + theme(text = element_text(size=10),
axis.text.x = element_text(angle=15, hjust=1),
axis.text.y = element_blank())
p21 <- p21 + theme(legend.position="none")
p21 <- p21 + scale_size_area() +
ylab("DOLLARS") +
ggtitle("TEN WEATHER EVENTS WITH THE GREATEST ECONOMIC CONSEQUENCES:
ON U.S. PROPERTY DAMAGES (JAN. 1950 - NOV. 2011)")
p22 <- ggplot(bg12, aes(EVTYPE, CROPDMGMUL, fill=EVTYPE),width=0.5)+geom_bar(stat="identity")
p22 <- p22 + geom_text(data=bg12,
aes(x=EVTYPE,
y=CROPDMGMUL,
label=format(round(CROPDMGMUL,0),big.mark=",")),
vjust=0,size=2.5)
p22 <- p22 + ylim(0,15000000000)
p22 <- p22 + theme(text = element_text(size=10),
axis.text.x = element_text(angle=15, hjust=1),
axis.text.y = element_blank())
p22 <- p22 + theme(legend.position="none")
p22 <- p22 + scale_size_area() +
ylab("DOLLARS") +
ggtitle("TEN WEATHER EVENTS WITH THE GREATEST ECONOMIC CONSEQUENCES:
ON U.S. CROP DAMAGES (JAN. 1950 - NOV. 2011)")
myPlotList2 = list(p21, p22)
do.call(grid.arrange, myPlotList2)