Analyzing NOAA’s Storm Data to correlate types of weather events that impact human populations. The analysis will summarize data for the time period 1950 to 2011. The results will indicate hazards to people, in terms of injuries and death, as well as economic harm in terms of property and crop damage.
Download the compressed data into a Temp file then read it in compressed form.
Read small sample of the data for column names and early classification:
temp <- tempfile()
download.file("http://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2",
temp, method = "auto", mode = "wb")
sdata <- read.table(bzfile(temp), comment.char = "#", header = TRUE, sep = ",", nrows = 10,
na.strings = "", )
dim(sdata)
## [1] 10 37
cnames <- names(sdata)
cnames
## [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"
cnames <- sub("__", "1", cnames, fixed = TRUE)
cnames
## [1] "STATE1" "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"
names(sdata) <- cnames
head(sdata[1:10], 3)
## STATE1 BGN_DATE BGN_TIME TIME_ZONE COUNTY COUNTYNAME STATE
## 1 1 4/18/1950 0:00:00 130 CST 97 MOBILE AL
## 2 1 4/18/1950 0:00:00 145 CST 3 BALDWIN AL
## 3 1 2/20/1951 0:00:00 1600 CST 57 FAYETTE AL
## EVTYPE BGN_RANGE BGN_AZI
## 1 TORNADO 0 NA
## 2 TORNADO 0 NA
## 3 TORNADO 0 NA
head(sdata[11:20], 3)
## BGN_LOCATI END_DATE END_TIME COUNTY_END COUNTYENDN END_RANGE END_AZI
## 1 NA NA NA 0 NA 0 NA
## 2 NA NA NA 0 NA 0 NA
## 3 NA NA NA 0 NA 0 NA
## END_LOCATI LENGTH WIDTH
## 1 NA 14.0 100
## 2 NA 2.0 150
## 3 NA 0.1 123
head(sdata[21:30], 3)
## F MAG FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG CROPDMGEXP WFO
## 1 3 0 0 15 25.0 K 0 NA NA
## 2 2 0 0 0 2.5 K 0 NA NA
## 3 2 0 0 2 25.0 K 0 NA NA
## STATEOFFIC
## 1 NA
## 2 NA
## 3 NA
head(sdata[31:37], 3)
## ZONENAMES LATITUDE LONGITUDE LATITUDE_E LONGITUDE_ REMARKS REFNUM
## 1 NA 3040 8812 3051 8806 NA 1
## 2 NA 3042 8755 0 0 NA 2
## 3 NA 3340 8742 0 0 NA 3
str(sdata)
## 'data.frame': 10 obs. of 37 variables:
## $ STATE1 : num 1 1 1 1 1 1 1 1 1 1
## $ BGN_DATE : Factor w/ 7 levels "1/22/1952 0:00:00",..: 6 6 5 7 2 2 3 1 4 4
## $ BGN_TIME : int 130 145 1600 900 1500 2000 100 900 2000 2000
## $ TIME_ZONE : Factor w/ 1 level "CST": 1 1 1 1 1 1 1 1 1 1
## $ COUNTY : num 97 3 57 89 43 77 9 123 125 57
## $ COUNTYNAME: Factor w/ 9 levels "BALDWIN","BLOUNT",..: 7 1 4 6 3 5 2 8 9 4
## $ STATE : Factor w/ 1 level "AL": 1 1 1 1 1 1 1 1 1 1
## $ EVTYPE : Factor w/ 1 level "TORNADO": 1 1 1 1 1 1 1 1 1 1
## $ BGN_RANGE : num 0 0 0 0 0 0 0 0 0 0
## $ BGN_AZI : logi NA NA NA NA NA NA ...
## $ BGN_LOCATI: logi NA NA NA NA NA NA ...
## $ END_DATE : logi NA NA NA NA NA NA ...
## $ END_TIME : logi NA NA NA NA NA NA ...
## $ COUNTY_END: num 0 0 0 0 0 0 0 0 0 0
## $ COUNTYENDN: logi NA NA NA NA NA NA ...
## $ END_RANGE : num 0 0 0 0 0 0 0 0 0 0
## $ END_AZI : logi NA NA NA NA NA NA ...
## $ END_LOCATI: logi NA NA NA NA NA NA ...
## $ LENGTH : num 14 2 0.1 0 0 1.5 1.5 0 3.3 2.3
## $ WIDTH : num 100 150 123 100 150 177 33 33 100 100
## $ F : int 3 2 2 2 2 2 2 1 3 3
## $ MAG : num 0 0 0 0 0 0 0 0 0 0
## $ FATALITIES: num 0 0 0 0 0 0 0 0 1 0
## $ INJURIES : num 15 0 2 2 2 6 1 0 14 0
## $ PROPDMG : num 25 2.5 25 2.5 2.5 2.5 2.5 2.5 25 25
## $ PROPDMGEXP: Factor w/ 1 level "K": 1 1 1 1 1 1 1 1 1 1
## $ CROPDMG : num 0 0 0 0 0 0 0 0 0 0
## $ CROPDMGEXP: logi NA NA NA NA NA NA ...
## $ WFO : logi NA NA NA NA NA NA ...
## $ STATEOFFIC: logi NA NA NA NA NA NA ...
## $ ZONENAMES : logi NA NA NA NA NA NA ...
## $ LATITUDE : num 3040 3042 3340 3458 3412 ...
## $ LONGITUDE : num 8812 8755 8742 8626 8642 ...
## $ LATITUDE_E: num 3051 0 0 0 0 ...
## $ LONGITUDE_: num 8806 0 0 0 0 ...
## $ REMARKS : logi NA NA NA NA NA NA ...
## $ REFNUM : num 1 2 3 4 5 6 7 8 9 10
Load entire dataset:
library(Defaults)
# change default date format for data load
setDefaults('as.Date.character', format = '%m/%d/%Y')
# 37 cols, build appropriate column classes 10 at a time
cclasses <- c("factor", "Date", rep("character", 2), "numeric", "character", "factor", "character", "numeric", "factor",
rep("character", 3), "numeric", "character", "numeric", "factor", "character", rep("numeric", 2),
"factor", rep("numeric", 4), "character", "numeric", "character", rep("character", 2),
rep("character", 7))
cclasses
## [1] "factor" "Date" "character" "character" "numeric"
## [6] "character" "factor" "character" "numeric" "factor"
## [11] "character" "character" "character" "numeric" "character"
## [16] "numeric" "factor" "character" "numeric" "numeric"
## [21] "factor" "numeric" "numeric" "numeric" "numeric"
## [26] "character" "numeric" "character" "character" "character"
## [31] "character" "character" "character" "character" "character"
## [36] "character" "character"
# load entire dataset
sdata <- read.table(bzfile(temp), comment.char = "#", header = TRUE, sep = ",",
colClasses = cclasses, na.strings = "")
names(sdata) <- cnames
dim(sdata)
## [1] 902297 37
summary(sdata)
## STATE1 BGN_DATE BGN_TIME
## 48.00 : 83728 Min. :1950-01-03 Length:902297
## 20.00 : 53441 1st Qu.:1995-04-20 Class :character
## 40.00 : 46802 Median :2002-03-18 Mode :character
## 29.00 : 35648 Mean :1998-12-27
## 19.00 : 31069 3rd Qu.:2007-07-28
## 31.00 : 30271 Max. :2011-11-30
## (Other):621338
## TIME_ZONE COUNTY COUNTYNAME STATE
## Length:902297 Min. : 0 Length:902297 TX : 83728
## Class :character 1st Qu.: 31 Class :character KS : 53440
## Mode :character Median : 75 Mode :character OK : 46802
## Mean :101 MO : 35648
## 3rd Qu.:131 IA : 31069
## Max. :873 NE : 30271
## (Other):621339
## EVTYPE BGN_RANGE BGN_AZI BGN_LOCATI
## Length:902297 Min. : 0 N : 86752 Length:902297
## Class :character 1st Qu.: 0 W : 38446 Class :character
## Mode :character Median : 0 S : 37558 Mode :character
## Mean : 1 E : 33178
## 3rd Qu.: 1 NW : 24041
## Max. :3749 (Other):134990
## NA's :547332
## END_DATE END_TIME COUNTY_END COUNTYENDN
## Length:902297 Length:902297 Min. :0 Length:902297
## Class :character Class :character 1st Qu.:0 Class :character
## Mode :character Mode :character Median :0 Mode :character
## Mean :0
## 3rd Qu.:0
## Max. :0
##
## END_RANGE END_AZI END_LOCATI LENGTH
## Min. : 0 N : 28082 Length:902297 Min. : 0.0
## 1st Qu.: 0 S : 22510 Class :character 1st Qu.: 0.0
## Median : 0 W : 20119 Mode :character Median : 0.0
## Mean : 1 E : 20047 Mean : 0.2
## 3rd Qu.: 0 NE : 14606 3rd Qu.: 0.0
## Max. :925 (Other): 72096 Max. :2315.0
## NA's :724837
## WIDTH F MAG FATALITIES
## Min. : 0 0 : 24993 Min. : 0 Min. : 0
## 1st Qu.: 0 1 : 19475 1st Qu.: 0 1st Qu.: 0
## Median : 0 2 : 9878 Median : 50 Median : 0
## Mean : 8 3 : 3179 Mean : 47 Mean : 0
## 3rd Qu.: 0 4 : 1072 3rd Qu.: 75 3rd Qu.: 0
## Max. :4400 5 : 137 Max. :22000 Max. :583
## NA's:843563
## INJURIES PROPDMG PROPDMGEXP CROPDMG
## Min. : 0.0 Min. : 0 Length:902297 Min. : 0.0
## 1st Qu.: 0.0 1st Qu.: 0 Class :character 1st Qu.: 0.0
## Median : 0.0 Median : 0 Mode :character Median : 0.0
## Mean : 0.2 Mean : 12 Mean : 1.5
## 3rd Qu.: 0.0 3rd Qu.: 0 3rd Qu.: 0.0
## Max. :1700.0 Max. :5000 Max. :990.0
##
## CROPDMGEXP WFO STATEOFFIC
## Length:902297 Length:902297 Length:902297
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## ZONENAMES LATITUDE LONGITUDE
## Length:902297 Length:902297 Length:902297
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## LATITUDE_E LONGITUDE_ REMARKS
## Length:902297 Length:902297 Length:902297
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## REFNUM
## Length:902297
## Class :character
## Mode :character
##
##
##
##
# Data is loaded, drop the temp compressed file
unlink(temp)
Make date field:
# compare dates for initial date concatenation
head(sdata[, c(2:4)])
## BGN_DATE BGN_TIME TIME_ZONE
## 1 1950-04-18 0130 CST
## 2 1950-04-18 0145 CST
## 3 1951-02-20 1600 CST
## 4 1951-06-08 0900 CST
## 5 1951-11-15 1500 CST
## 6 1951-11-15 2000 CST
sdata$BEGIN_DATE <-
as.POSIXct(
paste(sdata$BGN_DATE, sdata$BGN_TIME, sdata$TIME_ZONE)
, format= "%Y-%m-%d %H%M")
head(sdata[, c(2:4, 38)])
## BGN_DATE BGN_TIME TIME_ZONE BEGIN_DATE
## 1 1950-04-18 0130 CST 1950-04-18 01:30:00
## 2 1950-04-18 0145 CST 1950-04-18 01:45:00
## 3 1951-02-20 1600 CST 1951-02-20 16:00:00
## 4 1951-06-08 0900 CST 1951-06-08 09:00:00
## 5 1951-11-15 1500 CST 1951-11-15 15:00:00
## 6 1951-11-15 2000 CST 1951-11-15 20:00:00
# place BEGIN_DATE in appropiate position
sdata <- sdata[, c(1, 38, 2:37)]
dim(sdata)
## [1] 902297 38
# save sdata during testing
# save(sdata, file = 'sdata.Rdata')
Tidy the data:
library(plyr)
etype <- sort(unique(sdata$EVTYPE))
etype
## [1] " HIGH SURF ADVISORY" " COASTAL FLOOD"
## [3] " FLASH FLOOD" " LIGHTNING"
## [5] " TSTM WIND" " TSTM WIND (G45)"
## [7] " WATERSPOUT" " WIND"
## [9] "?" "ABNORMAL WARMTH"
## [11] "ABNORMALLY DRY" "ABNORMALLY WET"
## [13] "ACCUMULATED SNOWFALL" "AGRICULTURAL FREEZE"
## [15] "APACHE COUNTY" "ASTRONOMICAL HIGH TIDE"
## [17] "ASTRONOMICAL LOW TIDE" "AVALANCE"
## [19] "AVALANCHE" "BEACH EROSIN"
## [21] "Beach Erosion" "BEACH EROSION"
## [23] "BEACH EROSION/COASTAL FLOOD" "BEACH FLOOD"
## [25] "BELOW NORMAL PRECIPITATION" "BITTER WIND CHILL"
## [27] "BITTER WIND CHILL TEMPERATURES" "Black Ice"
## [29] "BLACK ICE" "BLIZZARD"
## [31] "BLIZZARD AND EXTREME WIND CHIL" "BLIZZARD AND HEAVY SNOW"
## [33] "Blizzard Summary" "BLIZZARD WEATHER"
## [35] "BLIZZARD/FREEZING RAIN" "BLIZZARD/HEAVY SNOW"
## [37] "BLIZZARD/HIGH WIND" "BLIZZARD/WINTER STORM"
## [39] "BLOW-OUT TIDE" "BLOW-OUT TIDES"
## [41] "BLOWING DUST" "blowing snow"
## [43] "Blowing Snow" "BLOWING SNOW"
## [45] "BLOWING SNOW- EXTREME WIND CHI" "BLOWING SNOW & EXTREME WIND CH"
## [47] "BLOWING SNOW/EXTREME WIND CHIL" "BREAKUP FLOODING"
## [49] "BRUSH FIRE" "BRUSH FIRES"
## [51] "COASTAL FLOODING/EROSION" "COASTAL EROSION"
## [53] "Coastal Flood" "COASTAL FLOOD"
## [55] "coastal flooding" "Coastal Flooding"
## [57] "COASTAL FLOODING" "COASTAL FLOODING/EROSION"
## [59] "Coastal Storm" "COASTAL STORM"
## [61] "COASTAL SURGE" "COASTAL/TIDAL FLOOD"
## [63] "COASTALFLOOD" "COASTALSTORM"
## [65] "Cold" "COLD"
## [67] "COLD AIR FUNNEL" "COLD AIR FUNNELS"
## [69] "COLD AIR TORNADO" "Cold and Frost"
## [71] "COLD AND FROST" "COLD AND SNOW"
## [73] "COLD AND WET CONDITIONS" "Cold Temperature"
## [75] "COLD TEMPERATURES" "COLD WAVE"
## [77] "COLD WEATHER" "COLD WIND CHILL TEMPERATURES"
## [79] "COLD/WIND CHILL" "COLD/WINDS"
## [81] "COOL AND WET" "COOL SPELL"
## [83] "CSTL FLOODING/EROSION" "DAM BREAK"
## [85] "DAM FAILURE" "Damaging Freeze"
## [87] "DAMAGING FREEZE" "DEEP HAIL"
## [89] "DENSE FOG" "DENSE SMOKE"
## [91] "DOWNBURST" "DOWNBURST WINDS"
## [93] "DRIEST MONTH" "Drifting Snow"
## [95] "DROUGHT" "DROUGHT/EXCESSIVE HEAT"
## [97] "DROWNING" "DRY"
## [99] "DRY CONDITIONS" "DRY HOT WEATHER"
## [101] "DRY MICROBURST" "DRY MICROBURST 50"
## [103] "DRY MICROBURST 53" "DRY MICROBURST 58"
## [105] "DRY MICROBURST 61" "DRY MICROBURST 84"
## [107] "DRY MICROBURST WINDS" "DRY MIRCOBURST WINDS"
## [109] "DRY PATTERN" "DRY SPELL"
## [111] "DRY WEATHER" "DRYNESS"
## [113] "DUST DEVEL" "Dust Devil"
## [115] "DUST DEVIL" "DUST DEVIL WATERSPOUT"
## [117] "DUST STORM" "DUST STORM/HIGH WINDS"
## [119] "DUSTSTORM" "EARLY FREEZE"
## [121] "Early Frost" "EARLY FROST"
## [123] "EARLY RAIN" "EARLY SNOW"
## [125] "Early snowfall" "EARLY SNOWFALL"
## [127] "Erosion/Cstl Flood" "EXCESSIVE"
## [129] "Excessive Cold" "EXCESSIVE HEAT"
## [131] "EXCESSIVE HEAT/DROUGHT" "EXCESSIVE PRECIPITATION"
## [133] "EXCESSIVE RAIN" "EXCESSIVE RAINFALL"
## [135] "EXCESSIVE SNOW" "EXCESSIVE WETNESS"
## [137] "EXCESSIVELY DRY" "Extended Cold"
## [139] "Extreme Cold" "EXTREME COLD"
## [141] "EXTREME COLD/WIND CHILL" "EXTREME HEAT"
## [143] "EXTREME WIND CHILL" "EXTREME WIND CHILL/BLOWING SNO"
## [145] "EXTREME WIND CHILLS" "EXTREME WINDCHILL"
## [147] "EXTREME WINDCHILL TEMPERATURES" "EXTREME/RECORD COLD"
## [149] "EXTREMELY WET" "FALLING SNOW/ICE"
## [151] "FIRST FROST" "FIRST SNOW"
## [153] "FLASH FLOOD" "FLASH FLOOD - HEAVY RAIN"
## [155] "FLASH FLOOD FROM ICE JAMS" "FLASH FLOOD LANDSLIDES"
## [157] "FLASH FLOOD WINDS" "FLASH FLOOD/"
## [159] "FLASH FLOOD/ FLOOD" "FLASH FLOOD/ STREET"
## [161] "FLASH FLOOD/FLOOD" "FLASH FLOOD/HEAVY RAIN"
## [163] "FLASH FLOOD/LANDSLIDE" "FLASH FLOODING"
## [165] "FLASH FLOODING/FLOOD" "FLASH FLOODING/THUNDERSTORM WI"
## [167] "FLASH FLOODS" "FLASH FLOOODING"
## [169] "Flood" "FLOOD"
## [171] "FLOOD & HEAVY RAIN" "FLOOD FLASH"
## [173] "FLOOD FLOOD/FLASH" "FLOOD WATCH/"
## [175] "FLOOD/FLASH" "Flood/Flash Flood"
## [177] "FLOOD/FLASH FLOOD" "FLOOD/FLASH FLOODING"
## [179] "FLOOD/FLASH/FLOOD" "FLOOD/FLASHFLOOD"
## [181] "FLOOD/RAIN/WIND" "FLOOD/RAIN/WINDS"
## [183] "FLOOD/RIVER FLOOD" "Flood/Strong Wind"
## [185] "FLOODING" "FLOODING/HEAVY RAIN"
## [187] "FLOODS" "FOG"
## [189] "FOG AND COLD TEMPERATURES" "FOREST FIRES"
## [191] "Freeze" "FREEZE"
## [193] "Freezing drizzle" "Freezing Drizzle"
## [195] "FREEZING DRIZZLE" "FREEZING DRIZZLE AND FREEZING"
## [197] "Freezing Fog" "FREEZING FOG"
## [199] "Freezing rain" "Freezing Rain"
## [201] "FREEZING RAIN" "FREEZING RAIN AND SLEET"
## [203] "FREEZING RAIN AND SNOW" "FREEZING RAIN SLEET AND"
## [205] "FREEZING RAIN SLEET AND LIGHT" "FREEZING RAIN/SLEET"
## [207] "FREEZING RAIN/SNOW" "Freezing Spray"
## [209] "Frost" "FROST"
## [211] "Frost/Freeze" "FROST/FREEZE"
## [213] "FROST\\FREEZE" "FUNNEL"
## [215] "Funnel Cloud" "FUNNEL CLOUD"
## [217] "FUNNEL CLOUD." "FUNNEL CLOUD/HAIL"
## [219] "FUNNEL CLOUDS" "FUNNELS"
## [221] "Glaze" "GLAZE"
## [223] "GLAZE ICE" "GLAZE/ICE STORM"
## [225] "gradient wind" "Gradient wind"
## [227] "GRADIENT WIND" "GRADIENT WINDS"
## [229] "GRASS FIRES" "GROUND BLIZZARD"
## [231] "GUSTNADO" "GUSTNADO AND"
## [233] "GUSTY LAKE WIND" "GUSTY THUNDERSTORM WIND"
## [235] "GUSTY THUNDERSTORM WINDS" "Gusty Wind"
## [237] "GUSTY WIND" "GUSTY WIND/HAIL"
## [239] "GUSTY WIND/HVY RAIN" "Gusty wind/rain"
## [241] "Gusty winds" "Gusty Winds"
## [243] "GUSTY WINDS" "HAIL"
## [245] "HAIL 0.75" "HAIL 0.88"
## [247] "HAIL 075" "HAIL 088"
## [249] "HAIL 1.00" "HAIL 1.75"
## [251] "HAIL 1.75)" "HAIL 100"
## [253] "HAIL 125" "HAIL 150"
## [255] "HAIL 175" "HAIL 200"
## [257] "HAIL 225" "HAIL 275"
## [259] "HAIL 450" "HAIL 75"
## [261] "HAIL 80" "HAIL 88"
## [263] "HAIL ALOFT" "HAIL DAMAGE"
## [265] "HAIL FLOODING" "HAIL STORM"
## [267] "Hail(0.75)" "HAIL/ICY ROADS"
## [269] "HAIL/WIND" "HAIL/WINDS"
## [271] "HAILSTORM" "HAILSTORMS"
## [273] "HARD FREEZE" "HAZARDOUS SURF"
## [275] "HEAT" "HEAT DROUGHT"
## [277] "Heat Wave" "HEAT WAVE"
## [279] "HEAT WAVE DROUGHT" "HEAT WAVES"
## [281] "HEAT/DROUGHT" "Heatburst"
## [283] "HEAVY LAKE SNOW" "HEAVY MIX"
## [285] "HEAVY PRECIPATATION" "Heavy Precipitation"
## [287] "HEAVY PRECIPITATION" "Heavy rain"
## [289] "Heavy Rain" "HEAVY RAIN"
## [291] "HEAVY RAIN AND FLOOD" "Heavy Rain and Wind"
## [293] "HEAVY RAIN EFFECTS" "HEAVY RAIN/FLOODING"
## [295] "Heavy Rain/High Surf" "HEAVY RAIN/LIGHTNING"
## [297] "HEAVY RAIN/MUDSLIDES/FLOOD" "HEAVY RAIN/SEVERE WEATHER"
## [299] "HEAVY RAIN/SMALL STREAM URBAN" "HEAVY RAIN/SNOW"
## [301] "HEAVY RAIN/URBAN FLOOD" "HEAVY RAIN/WIND"
## [303] "HEAVY RAIN; URBAN FLOOD WINDS;" "HEAVY RAINFALL"
## [305] "HEAVY RAINS" "HEAVY RAINS/FLOODING"
## [307] "HEAVY SEAS" "HEAVY SHOWER"
## [309] "HEAVY SHOWERS" "HEAVY SNOW"
## [311] "HEAVY SNOW-SQUALLS" "HEAVY SNOW FREEZING RAIN"
## [313] "HEAVY SNOW & ICE" "HEAVY SNOW AND"
## [315] "HEAVY SNOW AND HIGH WINDS" "HEAVY SNOW AND ICE"
## [317] "HEAVY SNOW AND ICE STORM" "HEAVY SNOW AND STRONG WINDS"
## [319] "HEAVY SNOW ANDBLOWING SNOW" "Heavy snow shower"
## [321] "HEAVY SNOW SQUALLS" "HEAVY SNOW/BLIZZARD"
## [323] "HEAVY SNOW/BLIZZARD/AVALANCHE" "HEAVY SNOW/BLOWING SNOW"
## [325] "HEAVY SNOW/FREEZING RAIN" "HEAVY SNOW/HIGH"
## [327] "HEAVY SNOW/HIGH WIND" "HEAVY SNOW/HIGH WINDS"
## [329] "HEAVY SNOW/HIGH WINDS & FLOOD" "HEAVY SNOW/HIGH WINDS/FREEZING"
## [331] "HEAVY SNOW/ICE" "HEAVY SNOW/ICE STORM"
## [333] "HEAVY SNOW/SLEET" "HEAVY SNOW/SQUALLS"
## [335] "HEAVY SNOW/WIND" "HEAVY SNOW/WINTER STORM"
## [337] "HEAVY SNOWPACK" "Heavy Surf"
## [339] "HEAVY SURF" "Heavy surf and wind"
## [341] "HEAVY SURF COASTAL FLOODING" "HEAVY SURF/HIGH SURF"
## [343] "HEAVY SWELLS" "HEAVY WET SNOW"
## [345] "HIGH" "HIGH SWELLS"
## [347] "HIGH WINDS" "HIGH SEAS"
## [349] "High Surf" "HIGH SURF"
## [351] "HIGH SURF ADVISORIES" "HIGH SURF ADVISORY"
## [353] "HIGH SWELLS" "HIGH TEMPERATURE RECORD"
## [355] "HIGH TIDES" "HIGH WATER"
## [357] "HIGH WAVES" "High Wind"
## [359] "HIGH WIND" "HIGH WIND (G40)"
## [361] "HIGH WIND 48" "HIGH WIND 63"
## [363] "HIGH WIND 70" "HIGH WIND AND HEAVY SNOW"
## [365] "HIGH WIND AND HIGH TIDES" "HIGH WIND AND SEAS"
## [367] "HIGH WIND DAMAGE" "HIGH WIND/ BLIZZARD"
## [369] "HIGH WIND/BLIZZARD" "HIGH WIND/BLIZZARD/FREEZING RA"
## [371] "HIGH WIND/HEAVY SNOW" "HIGH WIND/LOW WIND CHILL"
## [373] "HIGH WIND/SEAS" "HIGH WIND/WIND CHILL"
## [375] "HIGH WIND/WIND CHILL/BLIZZARD" "HIGH WINDS"
## [377] "HIGH WINDS 55" "HIGH WINDS 57"
## [379] "HIGH WINDS 58" "HIGH WINDS 63"
## [381] "HIGH WINDS 66" "HIGH WINDS 67"
## [383] "HIGH WINDS 73" "HIGH WINDS 76"
## [385] "HIGH WINDS 80" "HIGH WINDS 82"
## [387] "HIGH WINDS AND WIND CHILL" "HIGH WINDS DUST STORM"
## [389] "HIGH WINDS HEAVY RAINS" "HIGH WINDS/"
## [391] "HIGH WINDS/COASTAL FLOOD" "HIGH WINDS/COLD"
## [393] "HIGH WINDS/FLOODING" "HIGH WINDS/HEAVY RAIN"
## [395] "HIGH WINDS/SNOW" "HIGHWAY FLOODING"
## [397] "Hot and Dry" "HOT PATTERN"
## [399] "HOT SPELL" "HOT WEATHER"
## [401] "HOT/DRY PATTERN" "HURRICANE"
## [403] "HURRICANE-GENERATED SWELLS" "Hurricane Edouard"
## [405] "HURRICANE EMILY" "HURRICANE ERIN"
## [407] "HURRICANE FELIX" "HURRICANE GORDON"
## [409] "HURRICANE OPAL" "HURRICANE OPAL/HIGH WINDS"
## [411] "HURRICANE/TYPHOON" "HVY RAIN"
## [413] "HYPERTHERMIA/EXPOSURE" "HYPOTHERMIA"
## [415] "Hypothermia/Exposure" "HYPOTHERMIA/EXPOSURE"
## [417] "ICE" "ICE AND SNOW"
## [419] "ICE FLOES" "Ice Fog"
## [421] "ICE JAM" "Ice jam flood (minor"
## [423] "ICE JAM FLOODING" "ICE ON ROAD"
## [425] "ICE PELLETS" "ICE ROADS"
## [427] "ICE STORM" "ICE STORM AND SNOW"
## [429] "ICE STORM/FLASH FLOOD" "Ice/Snow"
## [431] "ICE/SNOW" "ICE/STRONG WINDS"
## [433] "Icestorm/Blizzard" "Icy Roads"
## [435] "ICY ROADS" "LACK OF SNOW"
## [437] "LAKE-EFFECT SNOW" "Lake Effect Snow"
## [439] "LAKE EFFECT SNOW" "LAKE FLOOD"
## [441] "LAKESHORE FLOOD" "LANDSLIDE"
## [443] "LANDSLIDE/URBAN FLOOD" "LANDSLIDES"
## [445] "Landslump" "LANDSLUMP"
## [447] "LANDSPOUT" "LARGE WALL CLOUD"
## [449] "Late-season Snowfall" "LATE FREEZE"
## [451] "LATE SEASON HAIL" "LATE SEASON SNOW"
## [453] "Late Season Snowfall" "LATE SNOW"
## [455] "LIGHT FREEZING RAIN" "Light snow"
## [457] "Light Snow" "LIGHT SNOW"
## [459] "LIGHT SNOW AND SLEET" "Light Snow/Flurries"
## [461] "LIGHT SNOW/FREEZING PRECIP" "Light Snowfall"
## [463] "LIGHTING" "LIGHTNING"
## [465] "LIGHTNING WAUSEON" "LIGHTNING AND HEAVY RAIN"
## [467] "LIGHTNING AND THUNDERSTORM WIN" "LIGHTNING AND WINDS"
## [469] "LIGHTNING DAMAGE" "LIGHTNING FIRE"
## [471] "LIGHTNING INJURY" "LIGHTNING THUNDERSTORM WINDS"
## [473] "LIGHTNING THUNDERSTORM WINDSS" "LIGHTNING."
## [475] "LIGHTNING/HEAVY RAIN" "LIGNTNING"
## [477] "LOCAL FLASH FLOOD" "LOCAL FLOOD"
## [479] "LOCALLY HEAVY RAIN" "LOW TEMPERATURE"
## [481] "LOW TEMPERATURE RECORD" "LOW WIND CHILL"
## [483] "MAJOR FLOOD" "Marine Accident"
## [485] "MARINE HAIL" "MARINE HIGH WIND"
## [487] "MARINE MISHAP" "MARINE STRONG WIND"
## [489] "MARINE THUNDERSTORM WIND" "MARINE TSTM WIND"
## [491] "Metro Storm, May 26" "Microburst"
## [493] "MICROBURST" "MICROBURST WINDS"
## [495] "Mild and Dry Pattern" "MILD PATTERN"
## [497] "MILD/DRY PATTERN" "MINOR FLOOD"
## [499] "Minor Flooding" "MINOR FLOODING"
## [501] "MIXED PRECIP" "Mixed Precipitation"
## [503] "MIXED PRECIPITATION" "MODERATE SNOW"
## [505] "MODERATE SNOWFALL" "MONTHLY PRECIPITATION"
## [507] "Monthly Rainfall" "MONTHLY RAINFALL"
## [509] "Monthly Snowfall" "MONTHLY SNOWFALL"
## [511] "MONTHLY TEMPERATURE" "Mountain Snows"
## [513] "MUD SLIDE" "MUD SLIDES"
## [515] "MUD SLIDES URBAN FLOODING" "MUD/ROCK SLIDE"
## [517] "Mudslide" "MUDSLIDE"
## [519] "MUDSLIDE/LANDSLIDE" "Mudslides"
## [521] "MUDSLIDES" "NEAR RECORD SNOW"
## [523] "No Severe Weather" "NON-SEVERE WIND DAMAGE"
## [525] "NON-TSTM WIND" "NON SEVERE HAIL"
## [527] "NON TSTM WIND" "NONE"
## [529] "NORMAL PRECIPITATION" "NORTHERN LIGHTS"
## [531] "Other" "OTHER"
## [533] "PATCHY DENSE FOG" "PATCHY ICE"
## [535] "Prolong Cold" "PROLONG COLD"
## [537] "PROLONG COLD/SNOW" "PROLONG WARMTH"
## [539] "PROLONGED RAIN" "RAIN"
## [541] "RAIN (HEAVY)" "RAIN AND WIND"
## [543] "Rain Damage" "RAIN/SNOW"
## [545] "RAIN/WIND" "RAINSTORM"
## [547] "RAPIDLY RISING WATER" "RECORD COLD"
## [549] "Record Cold" "RECORD COLD"
## [551] "RECORD COLD AND HIGH WIND" "RECORD COLD/FROST"
## [553] "RECORD COOL" "Record dry month"
## [555] "RECORD DRYNESS" "Record Heat"
## [557] "RECORD HEAT" "RECORD HEAT WAVE"
## [559] "Record High" "RECORD HIGH"
## [561] "RECORD HIGH TEMPERATURE" "RECORD HIGH TEMPERATURES"
## [563] "RECORD LOW" "RECORD LOW RAINFALL"
## [565] "Record May Snow" "RECORD PRECIPITATION"
## [567] "RECORD RAINFALL" "RECORD SNOW"
## [569] "RECORD SNOW/COLD" "RECORD SNOWFALL"
## [571] "Record temperature" "RECORD TEMPERATURE"
## [573] "Record Temperatures" "RECORD TEMPERATURES"
## [575] "RECORD WARM" "RECORD WARM TEMPS."
## [577] "Record Warmth" "RECORD WARMTH"
## [579] "Record Winter Snow" "RECORD/EXCESSIVE HEAT"
## [581] "RECORD/EXCESSIVE RAINFALL" "RED FLAG CRITERIA"
## [583] "RED FLAG FIRE WX" "REMNANTS OF FLOYD"
## [585] "RIP CURRENT" "RIP CURRENTS"
## [587] "RIP CURRENTS HEAVY SURF" "RIP CURRENTS/HEAVY SURF"
## [589] "RIVER AND STREAM FLOOD" "RIVER FLOOD"
## [591] "River Flooding" "RIVER FLOODING"
## [593] "ROCK SLIDE" "ROGUE WAVE"
## [595] "ROTATING WALL CLOUD" "ROUGH SEAS"
## [597] "ROUGH SURF" "RURAL FLOOD"
## [599] "Saharan Dust" "SAHARAN DUST"
## [601] "Seasonal Snowfall" "SEICHE"
## [603] "SEVERE COLD" "SEVERE THUNDERSTORM"
## [605] "SEVERE THUNDERSTORM WINDS" "SEVERE THUNDERSTORMS"
## [607] "SEVERE TURBULENCE" "SLEET"
## [609] "SLEET & FREEZING RAIN" "SLEET STORM"
## [611] "SLEET/FREEZING RAIN" "SLEET/ICE STORM"
## [613] "SLEET/RAIN/SNOW" "SLEET/SNOW"
## [615] "small hail" "Small Hail"
## [617] "SMALL HAIL" "SMALL STREAM"
## [619] "SMALL STREAM AND" "SMALL STREAM AND URBAN FLOOD"
## [621] "SMALL STREAM AND URBAN FLOODIN" "SMALL STREAM FLOOD"
## [623] "SMALL STREAM FLOODING" "SMALL STREAM URBAN FLOOD"
## [625] "SMALL STREAM/URBAN FLOOD" "Sml Stream Fld"
## [627] "SMOKE" "Snow"
## [629] "SNOW" "SNOW- HIGH WIND- WIND CHILL"
## [631] "Snow Accumulation" "SNOW ACCUMULATION"
## [633] "SNOW ADVISORY" "SNOW AND COLD"
## [635] "SNOW AND HEAVY SNOW" "Snow and Ice"
## [637] "SNOW AND ICE" "SNOW AND ICE STORM"
## [639] "Snow and sleet" "SNOW AND SLEET"
## [641] "SNOW AND WIND" "SNOW DROUGHT"
## [643] "SNOW FREEZING RAIN" "SNOW SHOWERS"
## [645] "SNOW SLEET" "SNOW SQUALL"
## [647] "Snow squalls" "Snow Squalls"
## [649] "SNOW SQUALLS" "SNOW/ BITTER COLD"
## [651] "SNOW/ ICE" "SNOW/BLOWING SNOW"
## [653] "SNOW/COLD" "SNOW/FREEZING RAIN"
## [655] "SNOW/HEAVY SNOW" "SNOW/HIGH WINDS"
## [657] "SNOW/ICE" "SNOW/ICE STORM"
## [659] "SNOW/RAIN" "SNOW/RAIN/SLEET"
## [661] "SNOW/SLEET" "SNOW/SLEET/FREEZING RAIN"
## [663] "SNOW/SLEET/RAIN" "SNOW\\COLD"
## [665] "SNOWFALL RECORD" "SNOWMELT FLOODING"
## [667] "SNOWSTORM" "SOUTHEAST"
## [669] "STORM FORCE WINDS" "STORM SURGE"
## [671] "STORM SURGE/TIDE" "STREAM FLOODING"
## [673] "STREET FLOOD" "STREET FLOODING"
## [675] "Strong Wind" "STRONG WIND"
## [677] "STRONG WIND GUST" "Strong winds"
## [679] "Strong Winds" "STRONG WINDS"
## [681] "Summary August 10" "Summary August 11"
## [683] "Summary August 17" "Summary August 2-3"
## [685] "Summary August 21" "Summary August 28"
## [687] "Summary August 4" "Summary August 7"
## [689] "Summary August 9" "Summary Jan 17"
## [691] "Summary July 23-24" "Summary June 18-19"
## [693] "Summary June 5-6" "Summary June 6"
## [695] "Summary of April 12" "Summary of April 13"
## [697] "Summary of April 21" "Summary of April 27"
## [699] "Summary of April 3rd" "Summary of August 1"
## [701] "Summary of July 11" "Summary of July 2"
## [703] "Summary of July 22" "Summary of July 26"
## [705] "Summary of July 29" "Summary of July 3"
## [707] "Summary of June 10" "Summary of June 11"
## [709] "Summary of June 12" "Summary of June 13"
## [711] "Summary of June 15" "Summary of June 16"
## [713] "Summary of June 18" "Summary of June 23"
## [715] "Summary of June 24" "Summary of June 3"
## [717] "Summary of June 30" "Summary of June 4"
## [719] "Summary of June 6" "Summary of March 14"
## [721] "Summary of March 23" "Summary of March 24"
## [723] "SUMMARY OF MARCH 24-25" "SUMMARY OF MARCH 27"
## [725] "SUMMARY OF MARCH 29" "Summary of May 10"
## [727] "Summary of May 13" "Summary of May 14"
## [729] "Summary of May 22" "Summary of May 22 am"
## [731] "Summary of May 22 pm" "Summary of May 26 am"
## [733] "Summary of May 26 pm" "Summary of May 31 am"
## [735] "Summary of May 31 pm" "Summary of May 9-10"
## [737] "Summary Sept. 25-26" "Summary September 20"
## [739] "Summary September 23" "Summary September 3"
## [741] "Summary September 4" "Summary: Nov. 16"
## [743] "Summary: Nov. 6-7" "Summary: Oct. 20-21"
## [745] "Summary: October 31" "Summary: Sept. 18"
## [747] "Temperature record" "THUDERSTORM WINDS"
## [749] "THUNDEERSTORM WINDS" "THUNDERESTORM WINDS"
## [751] "THUNDERSNOW" "Thundersnow shower"
## [753] "THUNDERSTORM" "THUNDERSTORM WINDS"
## [755] "THUNDERSTORM DAMAGE" "THUNDERSTORM DAMAGE TO"
## [757] "THUNDERSTORM HAIL" "THUNDERSTORM W INDS"
## [759] "Thunderstorm Wind" "THUNDERSTORM WIND"
## [761] "THUNDERSTORM WIND (G40)" "THUNDERSTORM WIND 50"
## [763] "THUNDERSTORM WIND 52" "THUNDERSTORM WIND 56"
## [765] "THUNDERSTORM WIND 59" "THUNDERSTORM WIND 59 MPH"
## [767] "THUNDERSTORM WIND 59 MPH." "THUNDERSTORM WIND 60 MPH"
## [769] "THUNDERSTORM WIND 65 MPH" "THUNDERSTORM WIND 65MPH"
## [771] "THUNDERSTORM WIND 69" "THUNDERSTORM WIND 98 MPH"
## [773] "THUNDERSTORM WIND G50" "THUNDERSTORM WIND G51"
## [775] "THUNDERSTORM WIND G52" "THUNDERSTORM WIND G55"
## [777] "THUNDERSTORM WIND G60" "THUNDERSTORM WIND G61"
## [779] "THUNDERSTORM WIND TREES" "THUNDERSTORM WIND."
## [781] "THUNDERSTORM WIND/ TREE" "THUNDERSTORM WIND/ TREES"
## [783] "THUNDERSTORM WIND/AWNING" "THUNDERSTORM WIND/HAIL"
## [785] "THUNDERSTORM WIND/LIGHTNING" "THUNDERSTORM WINDS"
## [787] "THUNDERSTORM WINDS LE CEN" "THUNDERSTORM WINDS 13"
## [789] "THUNDERSTORM WINDS 2" "THUNDERSTORM WINDS 50"
## [791] "THUNDERSTORM WINDS 52" "THUNDERSTORM WINDS 53"
## [793] "THUNDERSTORM WINDS 60" "THUNDERSTORM WINDS 61"
## [795] "THUNDERSTORM WINDS 62" "THUNDERSTORM WINDS 63 MPH"
## [797] "THUNDERSTORM WINDS AND" "THUNDERSTORM WINDS FUNNEL CLOU"
## [799] "THUNDERSTORM WINDS G" "THUNDERSTORM WINDS G60"
## [801] "THUNDERSTORM WINDS HAIL" "THUNDERSTORM WINDS HEAVY RAIN"
## [803] "THUNDERSTORM WINDS LIGHTNING" "THUNDERSTORM WINDS SMALL STREA"
## [805] "THUNDERSTORM WINDS URBAN FLOOD" "THUNDERSTORM WINDS."
## [807] "THUNDERSTORM WINDS/ FLOOD" "THUNDERSTORM WINDS/ HAIL"
## [809] "THUNDERSTORM WINDS/FLASH FLOOD" "THUNDERSTORM WINDS/FLOODING"
## [811] "THUNDERSTORM WINDS/FUNNEL CLOU" "THUNDERSTORM WINDS/HAIL"
## [813] "THUNDERSTORM WINDS/HEAVY RAIN" "THUNDERSTORM WINDS53"
## [815] "THUNDERSTORM WINDSHAIL" "THUNDERSTORM WINDSS"
## [817] "THUNDERSTORM WINS" "THUNDERSTORMS"
## [819] "THUNDERSTORMS WIND" "THUNDERSTORMS WINDS"
## [821] "THUNDERSTORMW" "THUNDERSTORMW 50"
## [823] "THUNDERSTORMW WINDS" "THUNDERSTORMWINDS"
## [825] "THUNDERSTROM WIND" "THUNDERSTROM WINDS"
## [827] "THUNDERTORM WINDS" "THUNDERTSORM WIND"
## [829] "THUNDESTORM WINDS" "THUNERSTORM WINDS"
## [831] "TIDAL FLOOD" "Tidal Flooding"
## [833] "TIDAL FLOODING" "TORNADO"
## [835] "TORNADO DEBRIS" "TORNADO F0"
## [837] "TORNADO F1" "TORNADO F2"
## [839] "TORNADO F3" "TORNADO/WATERSPOUT"
## [841] "TORNADOES" "TORNADOES, TSTM WIND, HAIL"
## [843] "TORNADOS" "TORNDAO"
## [845] "TORRENTIAL RAIN" "Torrential Rainfall"
## [847] "TROPICAL DEPRESSION" "TROPICAL STORM"
## [849] "TROPICAL STORM ALBERTO" "TROPICAL STORM DEAN"
## [851] "TROPICAL STORM GORDON" "TROPICAL STORM JERRY"
## [853] "TSTM" "TSTM HEAVY RAIN"
## [855] "Tstm Wind" "TSTM WIND"
## [857] "TSTM WIND (G45)" "TSTM WIND (41)"
## [859] "TSTM WIND (G35)" "TSTM WIND (G40)"
## [861] "TSTM WIND (G45)" "TSTM WIND 40"
## [863] "TSTM WIND 45" "TSTM WIND 50"
## [865] "TSTM WIND 51" "TSTM WIND 52"
## [867] "TSTM WIND 55" "TSTM WIND 65)"
## [869] "TSTM WIND AND LIGHTNING" "TSTM WIND DAMAGE"
## [871] "TSTM WIND G45" "TSTM WIND G58"
## [873] "TSTM WIND/HAIL" "TSTM WINDS"
## [875] "TSTM WND" "TSTMW"
## [877] "TSUNAMI" "TUNDERSTORM WIND"
## [879] "TYPHOON" "Unseasonable Cold"
## [881] "UNSEASONABLY COLD" "UNSEASONABLY COOL"
## [883] "UNSEASONABLY COOL & WET" "UNSEASONABLY DRY"
## [885] "UNSEASONABLY HOT" "UNSEASONABLY WARM"
## [887] "UNSEASONABLY WARM & WET" "UNSEASONABLY WARM AND DRY"
## [889] "UNSEASONABLY WARM YEAR" "UNSEASONABLY WARM/WET"
## [891] "UNSEASONABLY WET" "UNSEASONAL LOW TEMP"
## [893] "UNSEASONAL RAIN" "UNUSUAL WARMTH"
## [895] "UNUSUAL/RECORD WARMTH" "UNUSUALLY COLD"
## [897] "UNUSUALLY LATE SNOW" "UNUSUALLY WARM"
## [899] "URBAN AND SMALL" "URBAN AND SMALL STREAM"
## [901] "URBAN AND SMALL STREAM FLOOD" "URBAN AND SMALL STREAM FLOODIN"
## [903] "Urban flood" "Urban Flood"
## [905] "URBAN FLOOD" "URBAN FLOOD LANDSLIDE"
## [907] "Urban Flooding" "URBAN FLOODING"
## [909] "URBAN FLOODS" "URBAN SMALL"
## [911] "URBAN SMALL STREAM FLOOD" "URBAN/SMALL"
## [913] "URBAN/SMALL FLOODING" "URBAN/SMALL STREAM"
## [915] "URBAN/SMALL STREAM FLOOD" "URBAN/SMALL STREAM FLOOD"
## [917] "URBAN/SMALL STREAM FLOODING" "URBAN/SMALL STRM FLDG"
## [919] "URBAN/SML STREAM FLD" "URBAN/SML STREAM FLDG"
## [921] "URBAN/STREET FLOODING" "VERY DRY"
## [923] "VERY WARM" "VOG"
## [925] "Volcanic Ash" "VOLCANIC ASH"
## [927] "Volcanic Ash Plume" "VOLCANIC ASHFALL"
## [929] "VOLCANIC ERUPTION" "WAKE LOW WIND"
## [931] "WALL CLOUD" "WALL CLOUD/FUNNEL CLOUD"
## [933] "WARM DRY CONDITIONS" "WARM WEATHER"
## [935] "WATER SPOUT" "WATERSPOUT"
## [937] "WATERSPOUT-" "WATERSPOUT-TORNADO"
## [939] "WATERSPOUT FUNNEL CLOUD" "WATERSPOUT TORNADO"
## [941] "WATERSPOUT/" "WATERSPOUT/ TORNADO"
## [943] "WATERSPOUT/TORNADO" "WATERSPOUTS"
## [945] "WAYTERSPOUT" "wet micoburst"
## [947] "WET MICROBURST" "Wet Month"
## [949] "WET SNOW" "WET WEATHER"
## [951] "Wet Year" "Whirlwind"
## [953] "WHIRLWIND" "WILD FIRES"
## [955] "WILD/FOREST FIRE" "WILD/FOREST FIRES"
## [957] "WILDFIRE" "WILDFIRES"
## [959] "Wind" "WIND"
## [961] "WIND ADVISORY" "WIND AND WAVE"
## [963] "WIND CHILL" "WIND CHILL/HIGH WIND"
## [965] "Wind Damage" "WIND DAMAGE"
## [967] "WIND GUSTS" "WIND STORM"
## [969] "WIND/HAIL" "WINDS"
## [971] "WINTER MIX" "WINTER STORM"
## [973] "WINTER STORM HIGH WINDS" "WINTER STORM/HIGH WIND"
## [975] "WINTER STORM/HIGH WINDS" "WINTER STORMS"
## [977] "Winter Weather" "WINTER WEATHER"
## [979] "WINTER WEATHER MIX" "WINTER WEATHER/MIX"
## [981] "WINTERY MIX" "Wintry mix"
## [983] "Wintry Mix" "WINTRY MIX"
## [985] "WND"
# clean up EVTYPE field
sdata$EVTYPE <- toupper(sdata$EVTYPE)
sdata$EVTYPE <- sub("^\\s+", "", sdata$EVTYPE)
sdata$EVTYPE <- gsub('/', ' ', sdata$EVTYPE)
# first examine health data
# summarize by EVTYPE, examine initial values > 0
health <- ddply(sdata, .(EVTYPE), summarize, SFATAL=sum(FATALITIES), SINJURY=sum(INJURIES))
health <- health[health$SFATAL > 0| health$SINJURY > 0, ]
health[order(-health$SINJURY, -health$SFATAL), ]
## EVTYPE SFATAL SINJURY
## 739 TORNADO 5633 91346
## 760 TSTM WIND 504 6957
## 146 FLOOD 470 6789
## 108 EXCESSIVE HEAT 1903 6525
## 406 LIGHTNING 816 5230
## 233 HEAT 937 2100
## 376 ICE STORM 89 1975
## 130 FLASH FLOOD 978 1777
## 669 THUNDERSTORM WIND 133 1488
## 202 HAIL 15 1361
## 866 WINTER STORM 206 1321
## 360 HURRICANE TYPHOON 64 1275
## 308 HIGH WIND 248 1137
## 263 HEAVY SNOW 127 1021
## 853 WILDFIRE 75 911
## 695 THUNDERSTORM WINDS 64 908
## 20 BLIZZARD 101 805
## 161 FOG 62 734
## 851 WILD FOREST FIRE 12 545
## 97 DUST STORM 22 440
## 870 WINTER WEATHER 33 398
## 235 HEAT WAVE 172 379
## 70 DENSE FOG 18 342
## 753 TROPICAL STORM 58 340
## 325 HIGH WINDS 35 302
## 513 RIP CURRENTS 204 297
## 588 STRONG WIND 103 280
## 243 HEAVY RAIN 98 251
## 512 RIP CURRENT 368 232
## 117 EXTREME COLD 162 231
## 185 GLAZE 7 216
## 11 AVALANCHE 224 170
## 300 HIGH SURF 104 156
## 119 EXTREME HEAT 96 155
## 850 WILD FIRES 3 150
## 871 WINTER WEATHER MIX 28 140
## 365 ICE 6 137
## 781 TSUNAMI 33 129
## 777 TSTM WIND HAIL 5 95
## 855 WIND 23 86
## 818 URBAN SML STREAM FLD 28 79
## 873 WINTRY MIX 1 77
## 387 LANDSLIDE 38 52
## 490 RECORD HEAT 2 50
## 293 HEAVY SURF HIGH SURF 42 48
## 49 COLD 38 48
## 351 HURRICANE 61 46
## 756 TROPICAL STORM GORDON 8 43
## 840 WATERSPOUT TORNADO 3 43
## 95 DUST DEVIL 2 43
## 290 HEAVY SURF 8 40
## 583 STORM SURGE 13 38
## 566 SNOW HIGH WINDS 0 36
## 575 SNOW SQUALL 2 35
## 381 ICY ROADS 5 31
## 549 SNOW 5 31
## 834 WATERSPOUT 3 29
## 82 DRY MICROBURST 3 28
## 727 THUNDERSTORMW 0 27
## 431 MARINE THUNDERSTORM WIND 10 26
## 441 MIXED PRECIP 2 26
## 118 EXTREME COLD WIND CHILL 125 24
## 19 BLACK ICE 1 24
## 168 FREEZING RAIN 7 23
## 430 MARINE STRONG WIND 14 22
## 590 STRONG WINDS 8 21
## 112 EXCESSIVE RAINFALL 2 21
## 316 HIGH WIND AND SEAS 3 20
## 790 UNSEASONABLY WARM 11 17
## 869 WINTER STORMS 10 17
## 743 TORNADO F2 0 16
## 149 FLOOD FLASH FLOOD 17 15
## 236 HEAT WAVE DROUGHT 4 15
## 165 FREEZING DRIZZLE 2 15
## 868 WINTER STORM HIGH WINDS 1 15
## 187 GLAZE ICE STORM 0 15
## 32 BLOWING SNOW 2 14
## 60 COLD WIND CHILL 95 12
## 663 THUNDERSTORM 1 12
## 201 GUSTY WINDS 4 11
## 282 HEAVY SNOW ICE 0 10
## 539 SMALL HAIL 0 10
## 664 THUNDERSTORM WINDS 0 10
## 141 FLASH FLOODING 19 8
## 432 MARINE TSTM WIND 9 8
## 299 HIGH SEAS 5 8
## 459 NON-SEVERE WIND DAMAGE 0 7
## 344 HIGH WINDS SNOW 3 6
## 124 EXTREME WINDCHILL 17 5
## 584 STORM SURGE TIDE 11 5
## 521 ROUGH SEAS 8 5
## 429 MARINE MISHAP 7 5
## 43 COASTAL FLOODING EROSION 0 5
## 783 TYPHOON 0 5
## 76 DROUGHT 0 4
## 258 HEAVY RAINS 0 4
## 339 HIGH WINDS COLD 0 4
## 466 OTHER 0 4
## 722 THUNDERSTORM WINDSS 0 4
## 751 TORRENTIAL RAINFALL 0 4
## 176 FROST 1 3
## 180 FUNNEL CLOUD 0 3
## 765 TSTM WIND (G45) 0 3
## 158 FLOODING 6 2
## 454 MUDSLIDE 4 2
## 477 RAIN SNOW 4 2
## 41 COASTAL FLOOD 3 2
## 44 COASTAL STORM 3 2
## 516 RIVER FLOOD 2 2
## 400 LIGHT SNOW 1 2
## 426 MARINE ACCIDENT 1 2
## 37 BRUSH FIRE 0 2
## 113 EXCESSIVE SNOW 0 2
## 284 HEAVY SNOW SHOWER 0 2
## 352 HURRICANE-GENERATED SWELLS 0 2
## 353 HURRICANE EDOUARD 0 2
## 378 ICE STORM FLASH FLOOD 0 2
## 519 ROGUE WAVE 0 2
## 744 TORNADO F3 0 2
## 832 WARM WEATHER 0 2
## 355 HURRICANE ERIN 6 1
## 522 ROUGH SURF 4 1
## 557 SNOW AND ICE 4 1
## 517 RIVER FLOODING 2 1
## 127 FALLING SNOW ICE 1 1
## 162 FOG AND COLD TEMPERATURES 1 1
## 197 GUSTY WIND 1 1
## 358 HURRICANE OPAL 1 1
## 389 LANDSLIDES 1 1
## 428 MARINE HIGH WIND 1 1
## 661 THUNDERSNOW 1 1
## 864 WINDS 1 1
## 89 DRY MIRCOBURST WINDS 0 1
## 232 HAZARDOUS SURF 0 1
## 274 HEAVY SNOW BLIZZARD AVALANCHE 0 1
## 296 HIGH 0 1
## 311 HIGH WIND 48 0 1
## 320 HIGH WIND HEAVY SNOW 0 1
## 354 HURRICANE EMILY 0 1
## 374 ICE ROADS 0 1
## 409 LIGHTNING AND THUNDERSTORM WIN 0 1
## 414 LIGHTNING INJURY 0 1
## 462 NON TSTM WIND 0 1
## 699 THUNDERSTORM WINDS 13 0 1
## 714 THUNDERSTORM WINDS HAIL 0 1
## 726 THUNDERSTORMS WINDS 0 1
## 738 TIDAL FLOODING 0 1
## 764 TSTM WIND (G40) 0 1
## 792 UNSEASONABLY WARM AND DRY 29 0
## 747 TORNADOES, TSTM WIND, HAIL 25 0
## 488 RECORD EXCESSIVE HEAT 17 0
## 54 COLD AND SNOW 14 0
## 135 FLASH FLOOD FLOOD 14 0
## 364 HYPOTHERMIA EXPOSURE 7 0
## 422 LOW TEMPERATURE 7 0
## 59 COLD WEATHER 5 0
## 142 FLASH FLOODING FLOOD 5 0
## 237 HEAT WAVES 5 0
## 514 RIP CURRENTS HEAVY SURF 5 0
## 322 HIGH WIND SEAS 4 0
## 42 COASTAL FLOODING 3 0
## 58 COLD WAVE 3 0
## 260 HEAVY SEAS 3 0
## 291 HEAVY SURF AND WIND 3 0
## 306 HIGH WATER 3 0
## 56 COLD TEMPERATURE 2 0
## 77 DROUGHT EXCESSIVE HEAT 2 0
## 144 FLASH FLOODS 2 0
## 268 HEAVY SNOW AND HIGH WINDS 2 0
## 359 HURRICANE OPAL HIGH WINDS 2 0
## 532 SLEET 2 0
## 785 UNSEASONABLY COLD 2 0
## 10 AVALANCE 1 0
## 48 COASTALSTORM 1 0
## 62 COLD WINDS 1 0
## 78 DROWNING 1 0
## 116 EXTENDED COLD 1 0
## 147 FLOOD & HEAVY RAIN 1 0
## 155 FLOOD RIVER FLOOD 1 0
## 164 FREEZE 1 0
## 174 FREEZING RAIN SNOW 1 0
## 175 FREEZING SPRAY 1 0
## 303 HIGH SWELLS 1 0
## 307 HIGH WAVES 1 0
## 356 HURRICANE FELIX 1 0
## 362 HYPERTHERMIA EXPOSURE 1 0
## 363 HYPOTHERMIA 1 0
## 372 ICE ON ROAD 1 0
## 417 LIGHTNING. 1 0
## 440 MINOR FLOODING 1 0
## 456 MUDSLIDES 1 0
## 478 RAIN WIND 1 0
## 480 RAPIDLY RISING WATER 1 0
## 482 RECORD COLD 1 0
## 551 SNOW BITTER COLD 1 0
## 576 SNOW SQUALLS 1 0
## 672 THUNDERSTORM WIND (G40) 1 0
## 687 THUNDERSTORM WIND G52 1 0
## 733 THUNDERTORM WINDS 1 0
## 763 TSTM WIND (G35) 1 0
## 806 URBAN AND SMALL STREAM FLOODIN 1 0
## 849 WHIRLWIND 1 0
## 863 WIND STORM 1 0
# Create a new Event Type field to better summarize
# add an entry for every significant type, init w/'OTHER'
sdata$TYPE <- "OTHER"
# load primary TYPES
sdata[grepl('TORNADO', sdata$EVTYPE), ]$TYPE <- "TORNADO"
sdata[grepl('WIND', sdata$EVTYPE), ]$TYPE <- "WIND"
sdata[grepl('HEAT', sdata$EVTYPE), ]$TYPE <- "HEAT"
sdata[grepl('WARM', sdata$EVTYPE), ]$TYPE <- "HEAT"
sdata[grepl('FLOOD', sdata$EVTYPE), ]$TYPE <- "FLOOD"
sdata[grepl('FLD', sdata$EVTYPE), ]$TYPE <- "FLOOD"
sdata[grepl('LIGHTN', sdata$EVTYPE), ]$TYPE <- "LIGHTNING"
sdata[grepl('ICE', sdata$EVTYPE), ]$TYPE <- "ICE"
sdata[grepl('WINTER', sdata$EVTYPE), ]$TYPE <- "WINTER WEATHER"
sdata[grepl('WINTRY', sdata$EVTYPE), ]$TYPE <- "WINTER WEATHER"
sdata[grepl('FIRE', sdata$EVTYPE), ]$TYPE <- "FIRE"
sdata[grepl('HAIL', sdata$EVTYPE), ]$TYPE <- "HAIL"
# hurricane & typhoon is a form of tropical cyclone
sdata[grepl('HURRICANE', sdata$EVTYPE), ]$TYPE <- "CYCLONE"
sdata[grepl('TYPHOON', sdata$EVTYPE), ]$TYPE <- "CYCLONE"
sdata[grepl('SNOW', sdata$EVTYPE), ]$TYPE <- "SNOW"
sdata[grepl('FOG', sdata$EVTYPE), ]$TYPE <- "FOG"
sdata[grepl('ICY', sdata$EVTYPE), ]$TYPE <- "FOG"
sdata[grepl('FOG', sdata$EVTYPE), ]$TYPE <- "FOG"
sdata[grepl('BLIZZ', sdata$EVTYPE), ]$TYPE <- "BLIZZARD"
sdata[grepl('RIP', sdata$EVTYPE), ]$TYPE <- "RIP CURRENTS"
sdata[grepl('DUST', sdata$EVTYPE), ]$TYPE <- "DUST STORM"
sdata[grepl('TROPIC', sdata$EVTYPE), ]$TYPE <- "TROPICAL STORM"
sdata[grepl('RAIN', sdata$EVTYPE), ]$TYPE <- "RAIN"
sdata[grepl('COLD', sdata$EVTYPE), ]$TYPE <- "COLD"
sdata[grepl('HYPOTH', sdata$EVTYPE), ]$TYPE <- "COLD"
sdata[grepl('FREEZ', sdata$EVTYPE), ]$TYPE <- "COLD"
sdata[grepl('FROST', sdata$EVTYPE), ]$TYPE <- "COLD"
sdata[grepl('AVALAN', sdata$EVTYPE), ]$TYPE <- "AVALANCHE"
sdata[grepl('SEAS', sdata$EVTYPE), ]$TYPE <- "HIGH SEAS"
sdata[grepl('SURF', sdata$EVTYPE), ]$TYPE <- "HIGH SEAS"
# sdata[grepl('TSUN', sdata$EVTYPE), ]$TYPE <- "TSUNAMI"
# sdata[grepl('LANDS', sdata$EVTYPE), ]$TYPE <- "LANDSLIDE"
sdata[grepl('SURGE', sdata$EVTYPE), ]$TYPE <- "STORM SURGE"
sdata[grepl('TSTM', sdata$EVTYPE), ]$TYPE <- "THUNDERSTORM"
sdata[grepl('THUNDER', sdata$EVTYPE), ]$TYPE <- "THUNDERSTORM"
sdata[grepl('WATERSP', sdata$EVTYPE), ]$TYPE <- "WATERSPOUT"
# many DROUGHT combos, override above others in one DROUGHT category
sdata[grepl('DROUGHT', sdata$EVTYPE), ]$TYPE <- "DROUGHT"
# See major TYPES
type <- sort(unique(sdata$TYPE))
type
## [1] "AVALANCHE" "BLIZZARD" "COLD" "CYCLONE"
## [5] "DROUGHT" "DUST STORM" "FIRE" "FLOOD"
## [9] "FOG" "HAIL" "HEAT" "HIGH SEAS"
## [13] "ICE" "LIGHTNING" "OTHER" "RAIN"
## [17] "RIP CURRENTS" "SNOW" "STORM SURGE" "THUNDERSTORM"
## [21] "TORNADO" "TROPICAL STORM" "WATERSPOUT" "WIND"
## [25] "WINTER WEATHER"
sdata <- transform(sdata, TYPE = factor(TYPE))
Analyze the Tidy data
# summary(sdata$BEGIN_DATE)
summary(sdata$BGN_DATE)
## Min. 1st Qu. Median Mean 3rd Qu.
## "1950-01-03" "1995-04-20" "2002-03-18" "1998-12-27" "2007-07-28"
## Max.
## "2011-11-30"
# summarize damage estimates for health
health <- ddply(sdata, .(TYPE), summarize,
FATALITY=sum(FATALITIES, na.rm = TRUE), INJURY=sum(INJURIES, na.rm = TRUE))
health
## TYPE FATALITY INJURY
## 1 AVALANCHE 225 171
## 2 BLIZZARD 101 805
## 3 COLD 470 361
## 4 CYCLONE 135 1333
## 5 DROUGHT 6 19
## 6 DUST STORM 24 483
## 7 FIRE 90 1608
## 8 FLOOD 1552 8681
## 9 FOG 85 1107
## 10 HAIL 15 1371
## 11 HEAT 3132 9211
## 12 HIGH SEAS 231 296
## 13 ICE 97 2154
## 14 LIGHTNING 817 5231
## 15 OTHER 118 473
## 16 RAIN 106 282
## 17 RIP CURRENTS 572 529
## 18 SNOW 148 1162
## 19 STORM SURGE 24 43
## 20 THUNDERSTORM 756 9545
## 21 TORNADO 5633 91364
## 22 TROPICAL STORM 66 383
## 23 WATERSPOUT 6 72
## 24 WIND 457 1876
## 25 WINTER WEATHER 279 1968
healthy <- ddply(sdata, .((format(sdata$BGN_DATE, '%Y')), TYPE), summarize,
FATALITY=sum(FATALITIES, na.rm = TRUE), INJURY=sum(INJURIES, na.rm = TRUE))
colnames(healthy)[1] <- c("YEAR")
tail(healthy)
## YEAR TYPE FATALITY INJURY
## 586 2011 THUNDERSTORM 57 387
## 587 2011 TORNADO 587 6163
## 588 2011 TROPICAL STORM 4 1
## 589 2011 WATERSPOUT 0 0
## 590 2011 WIND 16 49
## 591 2011 WINTER WEATHER 3 0
# ready for health analysis results
# now examine property & crop economic damage
# limit the data frame to only needed columns for economic data
ldata <- sdata[, c(3, 26, 27, 28, 29, 39)]
summary(ldata)
## BGN_DATE PROPDMG PROPDMGEXP CROPDMG
## Min. :1950-01-03 Min. : 0 Length:902297 Min. : 0.0
## 1st Qu.:1995-04-20 1st Qu.: 0 Class :character 1st Qu.: 0.0
## Median :2002-03-18 Median : 0 Mode :character Median : 0.0
## Mean :1998-12-27 Mean : 12 Mean : 1.5
## 3rd Qu.:2007-07-28 3rd Qu.: 0 3rd Qu.: 0.0
## Max. :2011-11-30 Max. :5000 Max. :990.0
##
## CROPDMGEXP TYPE
## Length:902297 THUNDERSTORM :336818
## Class :character HAIL :289281
## Mode :character FLOOD : 86073
## TORNADO : 60684
## WIND : 26553
## WINTER WEATHER: 19693
## (Other) : 83195
names(ldata)
## [1] "BGN_DATE" "PROPDMG" "PROPDMGEXP" "CROPDMG" "CROPDMGEXP"
## [6] "TYPE"
edata <- ddply(ldata, .(TYPE, PROPDMGEXP, CROPDMGEXP), summarize,
PROPDMG = sum(PROPDMG, na.rm=T), CROPDMG = sum(CROPDMG,na.rm=T))
head(edata,3)
## TYPE PROPDMGEXP CROPDMGEXP PROPDMG CROPDMG
## 1 AVALANCHE K K 285.8 0
## 2 AVALANCHE K <NA> 1336.0 0
## 3 AVALANCHE M K 2.1 0
# examine yearly breakdown
edatay <- ddply(ldata, .(TYPE, (format(BGN_DATE, '%Y')), PROPDMGEXP, CROPDMGEXP), summarize,
PROPDMG = sum(PROPDMG, na.rm=T), CROPDMG = sum(CROPDMG,na.rm=T))
colnames(edatay)[2] <- c("YEAR")
tail(edatay)
## TYPE YEAR PROPDMGEXP CROPDMGEXP PROPDMG CROPDMG
## 2144 WINTER WEATHER 2009 M K 16.00 0
## 2145 WINTER WEATHER 2010 K K 12053.30 0
## 2146 WINTER WEATHER 2010 K M 0.00 15
## 2147 WINTER WEATHER 2010 M K 52.60 0
## 2148 WINTER WEATHER 2011 K K 13302.00 70
## 2149 WINTER WEATHER 2011 M K 6.75 0
# Focus on areas where damages are in Billions of dollars
bdamage <- edata[edata$PROPDMGEXP %in% ('B')|edata$CROPDMGEXP %in% ('B'), ]
# calaculate damages for crops, property and total in billions
damage <- ddply(bdamage, .(TYPE), summarize, PROPERTY = round(sum(PROPDMG)),
CROPS = round(sum(CROPDMG)),
DAMAGES = (round(sum(PROPDMG)) + round(sum(CROPDMG))))
# Damages in Billions
damage
## TYPE PROPERTY CROPS DAMAGES
## 1 COLD 0 0 0
## 2 CYCLONE 74 1546 1620
## 3 DROUGHT 0 2 2
## 4 FIRE 3 6 9
## 5 FLOOD 128 38 166
## 6 HAIL 2 0 2
## 7 HEAT 0 0 0
## 8 ICE 500 5 505
## 9 RAIN 2 0 2
## 10 STORM SURGE 47 0 47
## 11 THUNDERSTORM 3 2 5
## 12 TORNADO 5 0 5
## 13 TROPICAL STORM 5 0 5
## 14 WIND 1 0 1
## 15 WINTER WEATHER 5 0 5
# Focus on areas by Year where damages are in Billions of dollars
bdamagey <- edatay[edatay$PROPDMGEXP %in% ('B')|edatay$CROPDMGEXP %in% ('B'), ]
# calaculate damages for crops, property and total in billions
damagey <- ddply(bdamagey, .(YEAR, TYPE), summarize, PROPERTY = round(sum(PROPDMG)),
CROPS = round(sum(CROPDMG)),
DAMAGES = (round(sum(PROPDMG)) + round(sum(CROPDMG))))
# Damages in Billions
damagey
## YEAR TYPE PROPERTY CROPS DAMAGES
## 1 1993 FLOOD 5 5 10
## 2 1993 THUNDERSTORM 2 2 4
## 3 1993 WINTER WEATHER 5 0 5
## 4 1994 ICE 500 5 505
## 5 1995 COLD 0 0 0
## 6 1995 CYCLONE 3 15 18
## 7 1995 DROUGHT 0 0 0
## 8 1995 HEAT 0 0 0
## 9 1995 RAIN 2 0 2
## 10 1995 THUNDERSTORM 1 0 1
## 11 1997 FLOOD 3 0 3
## 12 1998 CYCLONE 2 301 303
## 13 1999 CYCLONE 3 500 503
## 14 2000 FIRE 2 0 2
## 15 2001 TROPICAL STORM 5 0 5
## 16 2003 FIRE 1 6 7
## 17 2003 FLOOD 1 0 1
## 18 2004 CYCLONE 17 428 445
## 19 2004 WIND 1 0 1
## 20 2005 CYCLONE 49 302 351
## 21 2005 STORM SURGE 43 0 43
## 22 2006 DROUGHT 0 1 1
## 23 2006 FLOOD 115 32 147
## 24 2008 CYCLONE 1 0 1
## 25 2008 STORM SURGE 4 0 4
## 26 2010 FLOOD 2 1 3
## 27 2010 HAIL 2 0 2
## 28 2011 DROUGHT 0 0 0
## 29 2011 FLOOD 3 0 3
## 30 2011 TORNADO 5 0 5
# ready for results
library(ggplot2)
# plot summary health effects
health2 <- health[health$FATALITY > 0 & health$INJURY > 0, ]
health2$TYPE <- factor(health$TYPE, levels=health[order(health$FATALITY), "TYPE"])
h <- ggplot(health2, aes(y = INJURY, x = TYPE, fill = FATALITY)) + coord_flip()
h <- h + geom_bar(stat = 'identity', binwidth = 2)
h <- h + scale_fill_gradient(low="green",high="darkgreen")
h <- h + labs(title = 'Fatalies & Injuries due to Weather Events (1950 - 2011)')
h <- h + xlab('Weather Event Type (Sort on Fatality)')
h <- h + ylab('Injury Tallies (Fatalities in Red)')
h <- h + geom_text(size=3, angle = 15, color='red', hjust=-0.5, vjust=0, aes(label=FATALITY))
print(h)
Tornadoes are far and away the most significant threat in terms of injury and loss of life.
# plot summary property & crop damages
damage <- damage[order(-damage$DAMAGES), ]
# plot DAMAGES >= 1 billion
damage2 <- damage[damage$DAMAGES >= 1, ]
damage2$TYPE <- factor(damage2$TYPE, levels=damage2[order(damage2$PROPERTY), "TYPE"])
e <- ggplot(damage2, aes(y = DAMAGES, x = TYPE, fill = PROPERTY)) + coord_flip()
e <- e + geom_bar(stat = 'identity', binwidth = 1)
e <- e + scale_fill_gradient(low="green",high="darkgreen")
e <- e + ggtitle(expression(atop('Property & Crop Economic Losses due to Weather Events ',
atop(italic('Years 1993 to 2011 (Property in Red Numbers)'), ""))))
e <- e + xlab('Weather Event Type (Sort on Property)')
e <- e + ylab('Total Economic to Property & Crops Damage in Billions')
e <- e + geom_text(size=3, angle = 15, color='red', hjust=-0.5, vjust=0, aes(label=PROPERTY))
print(e)
Cyclones (Hurricanes and Tropical Cyclones) generate the most total losses for property and crops combined, but most of this damage is to crops. The types are sorted in terms of damage to property indicating that ice and flooding are a greater threat to property followed by cyclones.
# plot summary property & crop damages
damagey <- damagey[order(damagey$YEAR, -damagey$DAMAGES), ]
# plot DAMAGES >= 1 billion
damagey2 <- damagey[damagey$DAMAGES >= 1, ]
damagey2
## YEAR TYPE PROPERTY CROPS DAMAGES
## 1 1993 FLOOD 5 5 10
## 3 1993 WINTER WEATHER 5 0 5
## 2 1993 THUNDERSTORM 2 2 4
## 4 1994 ICE 500 5 505
## 6 1995 CYCLONE 3 15 18
## 9 1995 RAIN 2 0 2
## 10 1995 THUNDERSTORM 1 0 1
## 11 1997 FLOOD 3 0 3
## 12 1998 CYCLONE 2 301 303
## 13 1999 CYCLONE 3 500 503
## 14 2000 FIRE 2 0 2
## 15 2001 TROPICAL STORM 5 0 5
## 16 2003 FIRE 1 6 7
## 17 2003 FLOOD 1 0 1
## 18 2004 CYCLONE 17 428 445
## 19 2004 WIND 1 0 1
## 20 2005 CYCLONE 49 302 351
## 21 2005 STORM SURGE 43 0 43
## 23 2006 FLOOD 115 32 147
## 22 2006 DROUGHT 0 1 1
## 25 2008 STORM SURGE 4 0 4
## 24 2008 CYCLONE 1 0 1
## 26 2010 FLOOD 2 1 3
## 27 2010 HAIL 2 0 2
## 30 2011 TORNADO 5 0 5
## 29 2011 FLOOD 3 0 3
e <- ggplot(damagey2, aes(y = DAMAGES, x = YEAR, fill = TYPE))
e <- e + geom_bar(stat = 'identity', binwidth = 1)
e <- e + ggtitle(expression(atop('Property & Crop Economic Losses due to Weather Events',
atop(italic('In Billions of Dollars (Years 1993 to 2011)'), ""))))
e <- e + xlab('Year (Damage in Billions)') + theme(axis.text.x = element_text(angle = 45, hjust = 1))
e <- e + ylab('Total Economic Damage')
print(e)
Major weather events have Significant impact in damages to crops and property.