This report analyzes data on weather events collected in the U.S. in terms of harm to health or economic factors. The data was collected between January 1950 and November 2011 by the National Oceanic and Atmospheric Administration (NOAA). The database tracks characteristics of major storms and weather events in the U.S., including when and where they occur, as well as estimates of fatalities, injuries, and property damage. The data is available at https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2. Documentation for the data is available at https://d396qusza40orc.cloudfront.net/repdata%2Fpeer2_doc%2Fpd01016005curr.pdf. The National Climatic Data Center Storm Events FAQ is available at https://d396qusza40orc.cloudfront.net/repdata%2Fpeer2_doc%2FNCDC%20Storm%20Events-FAQ%20Page.pdf.
The following is a high-level overview of the steps in data processing.
EVTYPE valueslibrary(dplyr)
library(stringr)
options(scipen=999)
This section sets the working directory, checks to see if the data file is already present, downloads it if it is not found.
setwd(file.path(Sys.getenv("HOME"), "Dropbox/Private/data science/Reproducible Research/project2"))
if(! file.exists("repdata-data-StormData.csv.bz2")) {
download.file("https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2",
"repdata-data-StormData.csv.bz2")
}
This section loads the data into a variable called repdata. All columns are discarded except those germane to the analysis, which are:
EVTYPE: Name of the weather eventFATALITIES: Estimate of number of fatalitiesINJURIES: Estimate of number of injuriesPROPDMG: Estimate of property damagePROPDMGEXP: Exponent of property damage valueCROPDMG: Estimate of crop damageCROPDMGEXP: Exponent of crop damage valuef <- bzfile("repdata-data-StormData.csv.bz2")
repdata <- read.csv(f)
repdata <- select(repdata, EVTYPE, FATALITIES, INJURIES, PROPDMG, PROPDMGEXP, CROPDMG, CROPDMGEXP)
EVTYPE valuesThe values in the EVTYPE column are fairly messy. For example, there are many different values that contain the word “snow”, and many that contain the word “wind”. If we use all of the values as they are, we will not get an accurate picture of the top causes of health and property damage. So this section reclassifies many of the values. Details on the reclassification are given in Appendix 1.
evt_aggr <- integer()
# This function excludes any values in evt_aggr from set1, and returns set1
# This is to ensure that, when we build an adjusted group of EVTYPE values,
# we do not have any duplicates in the groups.
exclude <- function(set1) {
result = setdiff(set1, evt_aggr)
evt_aggr <<- union(evt_aggr, set1)
#print(paste("curr: ", length(evt_aggr)))
return (result)
}
repdata$EVTYPE_GRP <- str_trim(repdata$EVTYPE)
evt_groups <- data.frame(group=character(), term1=character(), term2=character(), term3=character(), term4=character(),
term5=character(), term6=character(), term7=character(), term8=character(), term9=character(), stringsAsFactors=FALSE)
evt_groups[1,] <- c("HEAT (GRP)", "HEAT", "HOT", "WARMTH", "WARM", rep(NA,5))
evt_groups[2,] <- c("TORNADO (GRP)", "TORNADO", "WATERSPOUT", "WAYTERSPOUT", "TORNDAO", "GUSTNADO", rep(NA,4))
evt_groups[3,] <- c("COLD (GRP)", "COLD", "HYPOTHERMIA", "EXPOSURE", "WIND CHILL", "LOW.*TEMP", "UNSEASON.*COOL", rep(NA,3))
evt_groups[4,] <- c("WIND (GRP)", "WIND", rep(NA,8))
evt_groups[5,] <- c("RIP CURRENT (GRP)", "RIP CURRENT", rep(NA,8))
evt_groups[6,] <- c("WINTER (GRP)", "WINTER", "WINTRY", "SNOW", "BLIZZARD", "ICE", "ICY", "FROST", "FREEZE", "FREEZING")
evt_groups[7,] <- c("HURRICANE (GRP)", "HURRICANE", "TYPHOON", rep(NA,7))
evt_groups[8,] <- c("FLOOD (GRP)", "FLOOD", "FLDG", rep(NA,7))
evt_groups[9,] <- c("FIRE (GRP)", "FIRE", rep(NA,8))
evt_groups[10,] <- c("HAIL (GRP)", "HAIL", rep(NA,8))
evt_groups[11,] <- c("TROP. STORM (GRP)", "TROPICAL STORM", rep(NA,8))
evt_groups[12,] <- c("T-STORM (GRP)", "THUNDERSTORM", "TSTM", rep(NA,7))
evt_groups[13,] <- c("LIGHTNING (GRP)", "LIGHTNING","LIGNTNING","LIGHTING", rep(NA,6))
evt_groups[14,] <- c("MUD SLIDE (GRP)", "MUD.*SLIDE", rep(NA,8))
evt_aggr= integer()
evt_groups_data = list()
for(i in 1:nrow(evt_groups)) {
non_na_cols <- which(!is.na(evt_groups[i,2:10])) + 1
pattern = paste0("(", paste0(evt_groups[i,non_na_cols], sep=")", collapse="|("))
x <- grep(pattern, repdata$EVTYPE_GRP, ignore.case=TRUE)
x <- exclude(x)
evt_groups_data[[evt_groups[i,]$group]] = x
repdata[x,]$EVTYPE_GRP <- evt_groups[i,]$group
}
The values of the CROPDMG and PROPDMG fields are raw values that do not represent directly the estimates of crop and property damage. They must be multiplied by the appropriate EXP value, provided in the CROPDMGEXP and ’PROPDMGEXP` fields.
It should be noted that we have incomplete informatoin on the meaning of the EXP values. My methodology is to assume that “k” or “K” means “thousands”, “m” or “M” means “millions”, and “b” or “B” means billions. Other exponents are unknown, so the values in CROPDMG and PROPDMG for these records are ignored. There are a total of 8 records for which CROPDMGEXP has an unrecognized value, and 8 for which PROPDMGEXP has an unrecognized value, of a total of 902297 records.
repdata$CROPDMGFACTOR <- 0
repdata[repdata$CROPDMGEXP %in% c("k","K"),]$CROPDMGFACTOR = 1000
repdata[repdata$CROPDMGEXP %in% c("m","M"),]$CROPDMGFACTOR = 1000000
repdata[repdata$CROPDMGEXP %in% c("b","B"),]$CROPDMGFACTOR = 1000000000
repdata$CROPDMGADJ <- repdata$CROPDMG * repdata$CROPDMGFACTOR
repdata$PROPDMGFACTOR <- 0
repdata[repdata$PROPDMGEXP %in% c("k","K"),]$PROPDMGFACTOR = 1000
repdata[repdata$PROPDMGEXP %in% c("m","M"),]$PROPDMGFACTOR = 1000000
repdata[repdata$PROPDMGEXP %in% c("b","B"),]$PROPDMGFACTOR = 1000000000
repdata$PROPDMGADJ <- repdata$PROPDMG * repdata$PROPDMGFACTOR
The data is now grouped by the derived EVTYPE_GRP field, and then summarized on the sums of CROPDMGADJ, ’PROPDMGADJ,FATALITIESandINJURIES`.
# Group/summarize data
repdata.summary <- group_by(repdata, EVTYPE_GRP) %>%
summarize(FATALITIES=sum(FATALITIES), INJURIES=sum(INJURIES), CROPDMG=sum(CROPDMGADJ), PROPDMG=sum(PROPDMGADJ))
head(repdata.summary)
## Source: local data frame [6 x 5]
##
## EVTYPE_GRP FATALITIES INJURIES CROPDMG PROPDMG
## 1 ? 0 0 0 5000
## 2 ABNORMALLY DRY 0 0 0 0
## 3 ABNORMALLY WET 0 0 0 0
## 4 APACHE COUNTY 0 0 0 5000
## 5 ASTRONOMICAL HIGH TIDE 0 0 0 9425000
## 6 ASTRONOMICAL LOW TIDE 0 0 0 320000
This section gets a list of the top 20 weather events causing fatalities.
# Calculate top fatalities data
top_fatalities <- head(
repdata.summary %>%
filter(FATALITIES > 0) %>%
arrange(desc(FATALITIES)) %>%
select(EVTYPE_GRP, FATALITIES)
, 20)
total_fatalities <- sum(repdata$FATALITIES)
total_fatalities_top_causes <- sum(top_fatalities$FATALITIES)
par(las=2,mar=c(9,4,4,4))
This section gets a list of the top 20 weather events causing injuries.
# Calculate top injuries data
top_injuries <- head(
repdata.summary %>%
filter(INJURIES > 0) %>%
arrange(desc(INJURIES)) %>%
select(EVTYPE_GRP, INJURIES)
,20)
total_injuries <- sum(repdata$INJURIES)
total_injuries_top_causes <- sum(top_injuries$INJURIES)
This section gets a list of the top 20 weather events causing crop damage.
# Calculate top crop damage data
top_cropdmg <- head(
repdata.summary %>%
filter(CROPDMG > 0) %>%
arrange(desc(CROPDMG)) %>%
select(EVTYPE_GRP, CROPDMG)
, 20)
total_cropdmg <- sum(repdata.summary$CROPDMG)
total_cropdmg_top_causes <- sum(top_cropdmg$CROPDMG)
This section gets a list of the top 20 weather events causing property damage.
# Calculate top property damage data
top_propdmg <- head(
repdata.summary %>%
filter(PROPDMG > 0) %>%
arrange(desc(PROPDMG)) %>%
select(EVTYPE_GRP, PROPDMG)
, 20)
total_propdmg <- sum(repdata.summary$PROPDMG)
total_propdmg_top_causes <- sum(top_propdmg$PROPDMG)
We will now consider the results in terms of two basic questions:
The following plot shows the weather events that caused the most fatalities and injuries.
par(las=2,mfrow=c(1,2),mar=c(12,3,3,3))
barplot(top_fatalities$FATALITIES, names.arg=top_fatalities$EVTYPE, cex.names=0.95, main="Top Weather-Related Causes of Fatality")
barplot(top_injuries$INJURIES, names.arg=top_injuries$EVTYPE, cex.names=0.95, main="Top Weather-Related Causes of Injury")
par(las=1)
mtext("Weather events causing the most harm to health", side=3, line=-35, outer=TRUE)
To see specific numbers for these weather events, see Appendix 2.
The following plot shows the weather events that caused the most crop and property damage.
par(las=2,mfrow=c(1,2),mar=c(14,7,3,3))
barplot(top_cropdmg$CROPDMG, names.arg=top_cropdmg$EVTYPE, cex.names=0.95, main="Top Weather-Related Causes of Crop Damage")
barplot(top_propdmg$PROPDMG, names.arg=top_propdmg$EVTYPE, cex.names=0.95, main="Top Weather-Related Causes of Property Damage")
par(las=1)
mtext("Weather events causing the most economic damage", side=3, line=-35, outer=TRUE)
To see specific numbers for these weather events, see Appendix 2.
A rough attempt was made to classify the EVTYPE values in the original data. The EVTYPE field had a total of 985 distinct values. After reclassification, there were 280. The reclassified values accounted for a total of 871387 data points, of a total of 902297.
The first step in reclassification was to trim all EVTYPE values of leading and trailing strings. The second step was to create several groups of EVTYPE values. For instance, one group is “WINTER (GRP)”, which includes many EVTYPE values related to winter weather. If an EVTYPE does not end in “(GRP)”, it was not reclassified.
This process of reclassification is necessarily imperfect. For example, there were entries that contained both “wind” and “snow”, or “wind” and “thunderstorm”. It would have been possible to double-count entries, so that for example, an entry containing both “wind” and “snow” would appear in totals for both “WIND (GRP)” and “WINTER (GRP)”. Or the groups could have been split more finely, such as “WINTER WIND” and “SUMMER WIND”. Instead, my approach was just to chop where I chose. So WIND values were classified first. Those that also contained “SNOW” or “THUNDERSTORM” appeared only in the WIND group.
However, in spite of the imperfections, I think that the state of the data is better than in its raw form.
A list of the groups that contain reclassified values follows, with each original value listed.
for(i in 1:nrow(evt_groups)) {
print(paste0("The following EVTYPE values were reclassified as ", evt_groups[i,]$group))
print(sort(unique(repdata[evt_groups_data[[evt_groups[i,]$group]],]$EVTYPE)))
print("")
}
## [1] "The following EVTYPE values were reclassified as HEAT (GRP)"
## [1] ABNORMAL WARMTH DROUGHT/EXCESSIVE HEAT
## [3] DRY HOT WEATHER EXCESSIVE HEAT
## [5] EXCESSIVE HEAT/DROUGHT EXTREME HEAT
## [7] HEAT HEAT DROUGHT
## [9] Heat Wave HEAT WAVE
## [11] HEAT WAVE DROUGHT HEAT WAVES
## [13] HEAT/DROUGHT Heatburst
## [15] Hot and Dry HOT PATTERN
## [17] HOT SPELL HOT WEATHER
## [19] HOT/DRY PATTERN PROLONG WARMTH
## [21] Record Heat RECORD HEAT
## [23] RECORD HEAT WAVE RECORD WARM
## [25] RECORD WARM TEMPS. Record Warmth
## [27] RECORD WARMTH RECORD/EXCESSIVE HEAT
## [29] UNSEASONABLY HOT UNSEASONABLY WARM
## [31] UNSEASONABLY WARM & WET UNSEASONABLY WARM AND DRY
## [33] UNSEASONABLY WARM YEAR UNSEASONABLY WARM/WET
## [35] UNUSUAL WARMTH UNUSUAL/RECORD WARMTH
## [37] UNUSUALLY WARM VERY WARM
## [39] WARM DRY CONDITIONS WARM WEATHER
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as TORNADO (GRP)"
## [1] WATERSPOUT COLD AIR TORNADO
## [3] DUST DEVIL WATERSPOUT GUSTNADO
## [5] GUSTNADO AND TORNADO
## [7] TORNADO DEBRIS TORNADO F0
## [9] TORNADO F1 TORNADO F2
## [11] TORNADO F3 TORNADO/WATERSPOUT
## [13] TORNADOES TORNADOES, TSTM WIND, HAIL
## [15] TORNADOS TORNDAO
## [17] WATERSPOUT WATERSPOUT FUNNEL CLOUD
## [19] WATERSPOUT TORNADO WATERSPOUT-
## [21] WATERSPOUT-TORNADO WATERSPOUT/
## [23] WATERSPOUT/ TORNADO WATERSPOUT/TORNADO
## [25] WATERSPOUTS WAYTERSPOUT
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as COLD (GRP)"
## [1] BITTER WIND CHILL BITTER WIND CHILL TEMPERATURES
## [3] Cold COLD
## [5] COLD AIR FUNNEL COLD AIR FUNNELS
## [7] Cold and Frost COLD AND FROST
## [9] COLD AND SNOW COLD AND WET CONDITIONS
## [11] Cold Temperature COLD TEMPERATURES
## [13] COLD WAVE COLD WEATHER
## [15] COLD WIND CHILL TEMPERATURES COLD/WIND CHILL
## [17] COLD/WINDS Excessive Cold
## [19] Extended Cold Extreme Cold
## [21] EXTREME COLD EXTREME COLD/WIND CHILL
## [23] EXTREME WIND CHILL EXTREME WIND CHILL/BLOWING SNO
## [25] EXTREME WIND CHILLS EXTREME/RECORD COLD
## [27] FOG AND COLD TEMPERATURES HIGH WIND/LOW WIND CHILL
## [29] HIGH WIND/WIND CHILL HIGH WIND/WIND CHILL/BLIZZARD
## [31] HIGH WINDS AND WIND CHILL HIGH WINDS/COLD
## [33] HYPERTHERMIA/EXPOSURE HYPOTHERMIA
## [35] Hypothermia/Exposure HYPOTHERMIA/EXPOSURE
## [37] LOW TEMPERATURE LOW TEMPERATURE RECORD
## [39] LOW WIND CHILL Prolong Cold
## [41] PROLONG COLD PROLONG COLD/SNOW
## [43] RECORD COLD Record Cold
## [45] RECORD COLD RECORD COLD AND HIGH WIND
## [47] RECORD COLD/FROST RECORD SNOW/COLD
## [49] SEVERE COLD SNOW AND COLD
## [51] SNOW- HIGH WIND- WIND CHILL SNOW/ BITTER COLD
## [53] SNOW/COLD SNOW\\COLD
## [55] Unseasonable Cold UNSEASONABLY COLD
## [57] UNSEASONABLY COOL UNSEASONABLY COOL & WET
## [59] UNSEASONAL LOW TEMP UNUSUALLY COLD
## [61] WIND CHILL WIND CHILL/HIGH WIND
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as WIND (GRP)"
## [1] TSTM WIND TSTM WIND (G45)
## [3] WIND BLIZZARD AND EXTREME WIND CHIL
## [5] BLIZZARD/HIGH WIND BLOWING SNOW & EXTREME WIND CH
## [7] BLOWING SNOW- EXTREME WIND CHI BLOWING SNOW/EXTREME WIND CHIL
## [9] DOWNBURST WINDS DRY MICROBURST WINDS
## [11] DRY MIRCOBURST WINDS DUST STORM/HIGH WINDS
## [13] EXTREME WINDCHILL EXTREME WINDCHILL TEMPERATURES
## [15] FLASH FLOOD WINDS FLOOD/RAIN/WIND
## [17] FLOOD/RAIN/WINDS Flood/Strong Wind
## [19] gradient wind Gradient wind
## [21] GRADIENT WIND GRADIENT WINDS
## [23] GUSTY LAKE WIND GUSTY THUNDERSTORM WIND
## [25] GUSTY THUNDERSTORM WINDS Gusty Wind
## [27] GUSTY WIND GUSTY WIND/HAIL
## [29] GUSTY WIND/HVY RAIN Gusty wind/rain
## [31] Gusty winds Gusty Winds
## [33] GUSTY WINDS HAIL/WIND
## [35] HAIL/WINDS Heavy Rain and Wind
## [37] HEAVY RAIN; URBAN FLOOD WINDS; HEAVY RAIN/WIND
## [39] HEAVY SNOW AND HIGH WINDS HEAVY SNOW AND STRONG WINDS
## [41] HEAVY SNOW/HIGH WIND HEAVY SNOW/HIGH WINDS
## [43] HEAVY SNOW/HIGH WINDS & FLOOD HEAVY SNOW/HIGH WINDS/FREEZING
## [45] HEAVY SNOW/WIND Heavy surf and wind
## [47] HIGH WINDS High Wind
## [49] HIGH WIND HIGH WIND (G40)
## [51] HIGH WIND 48 HIGH WIND 63
## [53] HIGH WIND 70 HIGH WIND AND HEAVY SNOW
## [55] HIGH WIND AND HIGH TIDES HIGH WIND AND SEAS
## [57] HIGH WIND DAMAGE HIGH WIND/ BLIZZARD
## [59] HIGH WIND/BLIZZARD HIGH WIND/BLIZZARD/FREEZING RA
## [61] HIGH WIND/HEAVY SNOW HIGH WIND/SEAS
## [63] HIGH WINDS HIGH WINDS 55
## [65] HIGH WINDS 57 HIGH WINDS 58
## [67] HIGH WINDS 63 HIGH WINDS 66
## [69] HIGH WINDS 67 HIGH WINDS 73
## [71] HIGH WINDS 76 HIGH WINDS 80
## [73] HIGH WINDS 82 HIGH WINDS DUST STORM
## [75] HIGH WINDS HEAVY RAINS HIGH WINDS/
## [77] HIGH WINDS/COASTAL FLOOD HIGH WINDS/FLOODING
## [79] HIGH WINDS/HEAVY RAIN HIGH WINDS/SNOW
## [81] HURRICANE OPAL/HIGH WINDS ICE/STRONG WINDS
## [83] LIGHTNING AND WINDS LIGHTNING THUNDERSTORM WINDS
## [85] LIGHTNING THUNDERSTORM WINDSS MARINE HIGH WIND
## [87] MARINE STRONG WIND MARINE THUNDERSTORM WIND
## [89] MARINE TSTM WIND MICROBURST WINDS
## [91] NON TSTM WIND NON-SEVERE WIND DAMAGE
## [93] NON-TSTM WIND RAIN AND WIND
## [95] RAIN/WIND SEVERE THUNDERSTORM WINDS
## [97] SNOW AND WIND SNOW/HIGH WINDS
## [99] STORM FORCE WINDS Strong Wind
## [101] STRONG WIND STRONG WIND GUST
## [103] Strong winds Strong Winds
## [105] STRONG WINDS THUDERSTORM WINDS
## [107] THUNDEERSTORM WINDS THUNDERESTORM WINDS
## [109] THUNDERSTORM WINDS Thunderstorm Wind
## [111] THUNDERSTORM WIND THUNDERSTORM WIND (G40)
## [113] THUNDERSTORM WIND 50 THUNDERSTORM WIND 52
## [115] THUNDERSTORM WIND 56 THUNDERSTORM WIND 59
## [117] THUNDERSTORM WIND 59 MPH THUNDERSTORM WIND 59 MPH.
## [119] THUNDERSTORM WIND 60 MPH THUNDERSTORM WIND 65 MPH
## [121] THUNDERSTORM WIND 65MPH THUNDERSTORM WIND 69
## [123] THUNDERSTORM WIND 98 MPH THUNDERSTORM WIND G50
## [125] THUNDERSTORM WIND G51 THUNDERSTORM WIND G52
## [127] THUNDERSTORM WIND G55 THUNDERSTORM WIND G60
## [129] THUNDERSTORM WIND G61 THUNDERSTORM WIND TREES
## [131] THUNDERSTORM WIND. THUNDERSTORM WIND/ TREE
## [133] THUNDERSTORM WIND/ TREES THUNDERSTORM WIND/AWNING
## [135] THUNDERSTORM WIND/HAIL THUNDERSTORM WIND/LIGHTNING
## [137] THUNDERSTORM WINDS THUNDERSTORM WINDS LE CEN
## [139] THUNDERSTORM WINDS 13 THUNDERSTORM WINDS 2
## [141] THUNDERSTORM WINDS 50 THUNDERSTORM WINDS 52
## [143] THUNDERSTORM WINDS 53 THUNDERSTORM WINDS 60
## [145] THUNDERSTORM WINDS 61 THUNDERSTORM WINDS 62
## [147] THUNDERSTORM WINDS 63 MPH THUNDERSTORM WINDS AND
## [149] THUNDERSTORM WINDS FUNNEL CLOU THUNDERSTORM WINDS G
## [151] THUNDERSTORM WINDS G60 THUNDERSTORM WINDS HAIL
## [153] THUNDERSTORM WINDS HEAVY RAIN THUNDERSTORM WINDS LIGHTNING
## [155] THUNDERSTORM WINDS SMALL STREA THUNDERSTORM WINDS URBAN FLOOD
## [157] THUNDERSTORM WINDS. THUNDERSTORM WINDS/ FLOOD
## [159] THUNDERSTORM WINDS/ HAIL THUNDERSTORM WINDS/FLASH FLOOD
## [161] THUNDERSTORM WINDS/FLOODING THUNDERSTORM WINDS/FUNNEL CLOU
## [163] THUNDERSTORM WINDS/HAIL THUNDERSTORM WINDS/HEAVY RAIN
## [165] THUNDERSTORM WINDS53 THUNDERSTORM WINDSHAIL
## [167] THUNDERSTORM WINDSS THUNDERSTORMS WIND
## [169] THUNDERSTORMS WINDS THUNDERSTORMW WINDS
## [171] THUNDERSTORMWINDS THUNDERSTROM WIND
## [173] THUNDERSTROM WINDS THUNDERTORM WINDS
## [175] THUNDERTSORM WIND THUNDESTORM WINDS
## [177] THUNERSTORM WINDS Tstm Wind
## [179] TSTM WIND TSTM WIND (G45)
## [181] TSTM WIND (41) TSTM WIND (G35)
## [183] TSTM WIND (G40) TSTM WIND (G45)
## [185] TSTM WIND 40 TSTM WIND 45
## [187] TSTM WIND 50 TSTM WIND 51
## [189] TSTM WIND 52 TSTM WIND 55
## [191] TSTM WIND 65) TSTM WIND AND LIGHTNING
## [193] TSTM WIND DAMAGE TSTM WIND G45
## [195] TSTM WIND G58 TSTM WIND/HAIL
## [197] TSTM WINDS TUNDERSTORM WIND
## [199] WAKE LOW WIND Whirlwind
## [201] WHIRLWIND Wind
## [203] WIND WIND ADVISORY
## [205] WIND AND WAVE Wind Damage
## [207] WIND DAMAGE WIND GUSTS
## [209] WIND STORM WIND/HAIL
## [211] WINDS WINTER STORM HIGH WINDS
## [213] WINTER STORM/HIGH WIND WINTER STORM/HIGH WINDS
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as RIP CURRENT (GRP)"
## [1] RIP CURRENT RIP CURRENTS RIP CURRENTS HEAVY SURF
## [4] RIP CURRENTS/HEAVY SURF
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as WINTER (GRP)"
## [1] ACCUMULATED SNOWFALL AGRICULTURAL FREEZE
## [3] Black Ice BLACK ICE
## [5] BLIZZARD BLIZZARD AND HEAVY SNOW
## [7] Blizzard Summary BLIZZARD WEATHER
## [9] BLIZZARD/FREEZING RAIN BLIZZARD/HEAVY SNOW
## [11] BLIZZARD/WINTER STORM blowing snow
## [13] Blowing Snow BLOWING SNOW
## [15] Damaging Freeze DAMAGING FREEZE
## [17] Drifting Snow EARLY FREEZE
## [19] Early Frost EARLY FROST
## [21] EARLY SNOW Early snowfall
## [23] EARLY SNOWFALL EXCESSIVE SNOW
## [25] FALLING SNOW/ICE FIRST FROST
## [27] FIRST SNOW FLASH FLOOD FROM ICE JAMS
## [29] Freeze FREEZE
## [31] Freezing drizzle Freezing Drizzle
## [33] FREEZING DRIZZLE FREEZING DRIZZLE AND FREEZING
## [35] Freezing Fog FREEZING FOG
## [37] Freezing rain Freezing Rain
## [39] FREEZING RAIN FREEZING RAIN AND SLEET
## [41] FREEZING RAIN AND SNOW FREEZING RAIN SLEET AND
## [43] FREEZING RAIN SLEET AND LIGHT FREEZING RAIN/SLEET
## [45] FREEZING RAIN/SNOW Freezing Spray
## [47] Frost FROST
## [49] Frost/Freeze FROST/FREEZE
## [51] FROST\\FREEZE GLAZE ICE
## [53] GLAZE/ICE STORM GROUND BLIZZARD
## [55] HAIL/ICY ROADS HARD FREEZE
## [57] HEAVY LAKE SNOW HEAVY RAIN/SNOW
## [59] HEAVY SNOW HEAVY SNOW FREEZING RAIN
## [61] HEAVY SNOW & ICE HEAVY SNOW AND
## [63] HEAVY SNOW AND ICE HEAVY SNOW AND ICE STORM
## [65] HEAVY SNOW ANDBLOWING SNOW Heavy snow shower
## [67] HEAVY SNOW SQUALLS HEAVY SNOW-SQUALLS
## [69] HEAVY SNOW/BLIZZARD HEAVY SNOW/BLIZZARD/AVALANCHE
## [71] HEAVY SNOW/BLOWING SNOW HEAVY SNOW/FREEZING RAIN
## [73] HEAVY SNOW/HIGH HEAVY SNOW/ICE
## [75] HEAVY SNOW/ICE STORM HEAVY SNOW/SLEET
## [77] HEAVY SNOW/SQUALLS HEAVY SNOW/WINTER STORM
## [79] HEAVY SNOWPACK HEAVY WET SNOW
## [81] ICE ICE AND SNOW
## [83] ICE FLOES Ice Fog
## [85] ICE JAM Ice jam flood (minor
## [87] ICE JAM FLOODING ICE ON ROAD
## [89] ICE PELLETS ICE ROADS
## [91] ICE STORM ICE STORM AND SNOW
## [93] ICE STORM/FLASH FLOOD Ice/Snow
## [95] ICE/SNOW Icestorm/Blizzard
## [97] Icy Roads ICY ROADS
## [99] LACK OF SNOW Lake Effect Snow
## [101] LAKE EFFECT SNOW LAKE-EFFECT SNOW
## [103] LATE FREEZE LATE SEASON SNOW
## [105] Late Season Snowfall LATE SNOW
## [107] Late-season Snowfall LIGHT FREEZING RAIN
## [109] Light snow Light Snow
## [111] LIGHT SNOW LIGHT SNOW AND SLEET
## [113] Light Snow/Flurries LIGHT SNOW/FREEZING PRECIP
## [115] Light Snowfall MODERATE SNOW
## [117] MODERATE SNOWFALL Monthly Snowfall
## [119] MONTHLY SNOWFALL Mountain Snows
## [121] NEAR RECORD SNOW PATCHY ICE
## [123] RAIN/SNOW Record May Snow
## [125] RECORD SNOW RECORD SNOWFALL
## [127] Record Winter Snow Seasonal Snowfall
## [129] SLEET & FREEZING RAIN SLEET/FREEZING RAIN
## [131] SLEET/ICE STORM SLEET/RAIN/SNOW
## [133] SLEET/SNOW Snow
## [135] SNOW Snow Accumulation
## [137] SNOW ACCUMULATION SNOW ADVISORY
## [139] SNOW AND HEAVY SNOW Snow and Ice
## [141] SNOW AND ICE SNOW AND ICE STORM
## [143] Snow and sleet SNOW AND SLEET
## [145] SNOW DROUGHT SNOW FREEZING RAIN
## [147] SNOW SHOWERS SNOW SLEET
## [149] SNOW SQUALL Snow squalls
## [151] Snow Squalls SNOW SQUALLS
## [153] SNOW/ ICE SNOW/BLOWING SNOW
## [155] SNOW/FREEZING RAIN SNOW/HEAVY SNOW
## [157] SNOW/ICE SNOW/ICE STORM
## [159] SNOW/RAIN SNOW/RAIN/SLEET
## [161] SNOW/SLEET SNOW/SLEET/FREEZING RAIN
## [163] SNOW/SLEET/RAIN SNOWFALL RECORD
## [165] SNOWMELT FLOODING SNOWSTORM
## [167] THUNDERSNOW Thundersnow shower
## [169] UNUSUALLY LATE SNOW WET SNOW
## [171] WINTER MIX WINTER STORM
## [173] WINTER STORMS Winter Weather
## [175] WINTER WEATHER WINTER WEATHER MIX
## [177] WINTER WEATHER/MIX WINTERY MIX
## [179] Wintry mix Wintry Mix
## [181] WINTRY MIX
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as HURRICANE (GRP)"
## [1] HURRICANE Hurricane Edouard
## [3] HURRICANE EMILY HURRICANE ERIN
## [5] HURRICANE FELIX HURRICANE GORDON
## [7] HURRICANE OPAL HURRICANE-GENERATED SWELLS
## [9] HURRICANE/TYPHOON TYPHOON
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as FLOOD (GRP)"
## [1] COASTAL FLOOD FLASH FLOOD
## [3] BEACH EROSION/COASTAL FLOOD BEACH FLOOD
## [5] BREAKUP FLOODING COASTAL FLOODING/EROSION
## [7] Coastal Flood COASTAL FLOOD
## [9] coastal flooding Coastal Flooding
## [11] COASTAL FLOODING COASTAL FLOODING/EROSION
## [13] COASTAL/TIDAL FLOOD COASTALFLOOD
## [15] CSTL FLOODING/EROSION Erosion/Cstl Flood
## [17] FLASH FLOOD FLASH FLOOD - HEAVY RAIN
## [19] FLASH FLOOD LANDSLIDES FLASH FLOOD/
## [21] FLASH FLOOD/ FLOOD FLASH FLOOD/ STREET
## [23] FLASH FLOOD/FLOOD FLASH FLOOD/HEAVY RAIN
## [25] FLASH FLOOD/LANDSLIDE FLASH FLOODING
## [27] FLASH FLOODING/FLOOD FLASH FLOODING/THUNDERSTORM WI
## [29] FLASH FLOODS Flood
## [31] FLOOD FLOOD & HEAVY RAIN
## [33] FLOOD FLASH FLOOD FLOOD/FLASH
## [35] FLOOD WATCH/ FLOOD/FLASH
## [37] Flood/Flash Flood FLOOD/FLASH FLOOD
## [39] FLOOD/FLASH FLOODING FLOOD/FLASH/FLOOD
## [41] FLOOD/FLASHFLOOD FLOOD/RIVER FLOOD
## [43] FLOODING FLOODING/HEAVY RAIN
## [45] FLOODS HAIL FLOODING
## [47] HEAVY RAIN AND FLOOD HEAVY RAIN/FLOODING
## [49] HEAVY RAIN/MUDSLIDES/FLOOD HEAVY RAIN/URBAN FLOOD
## [51] HEAVY RAINS/FLOODING HEAVY SURF COASTAL FLOODING
## [53] HIGHWAY FLOODING LAKE FLOOD
## [55] LAKESHORE FLOOD LANDSLIDE/URBAN FLOOD
## [57] LOCAL FLASH FLOOD LOCAL FLOOD
## [59] MAJOR FLOOD MINOR FLOOD
## [61] Minor Flooding MINOR FLOODING
## [63] MUD SLIDES URBAN FLOODING RIVER AND STREAM FLOOD
## [65] RIVER FLOOD River Flooding
## [67] RIVER FLOODING RURAL FLOOD
## [69] SMALL STREAM AND URBAN FLOOD SMALL STREAM AND URBAN FLOODIN
## [71] SMALL STREAM FLOOD SMALL STREAM FLOODING
## [73] SMALL STREAM URBAN FLOOD SMALL STREAM/URBAN FLOOD
## [75] STREAM FLOODING STREET FLOOD
## [77] STREET FLOODING TIDAL FLOOD
## [79] Tidal Flooding TIDAL FLOODING
## [81] URBAN AND SMALL STREAM FLOOD URBAN AND SMALL STREAM FLOODIN
## [83] Urban flood Urban Flood
## [85] URBAN FLOOD URBAN FLOOD LANDSLIDE
## [87] Urban Flooding URBAN FLOODING
## [89] URBAN FLOODS URBAN SMALL STREAM FLOOD
## [91] URBAN/SMALL FLOODING URBAN/SMALL STREAM FLOOD
## [93] URBAN/SMALL STREAM FLOOD URBAN/SMALL STREAM FLOODING
## [95] URBAN/SMALL STRM FLDG URBAN/SML STREAM FLDG
## [97] URBAN/STREET FLOODING
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as FIRE (GRP)"
## [1] BRUSH FIRE BRUSH FIRES FOREST FIRES
## [4] GRASS FIRES LIGHTNING FIRE RED FLAG FIRE WX
## [7] WILD FIRES WILD/FOREST FIRE WILD/FOREST FIRES
## [10] WILDFIRE WILDFIRES
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as HAIL (GRP)"
## [1] DEEP HAIL FUNNEL CLOUD/HAIL HAIL
## [4] HAIL 0.75 HAIL 0.88 HAIL 075
## [7] HAIL 088 HAIL 1.00 HAIL 1.75
## [10] HAIL 1.75) HAIL 100 HAIL 125
## [13] HAIL 150 HAIL 175 HAIL 200
## [16] HAIL 225 HAIL 275 HAIL 450
## [19] HAIL 75 HAIL 80 HAIL 88
## [22] HAIL ALOFT HAIL DAMAGE HAIL STORM
## [25] Hail(0.75) HAILSTORM HAILSTORMS
## [28] LATE SEASON HAIL MARINE HAIL NON SEVERE HAIL
## [31] small hail Small Hail SMALL HAIL
## [34] THUNDERSTORM HAIL
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as TROP. STORM (GRP)"
## [1] TROPICAL STORM TROPICAL STORM ALBERTO TROPICAL STORM DEAN
## [4] TROPICAL STORM GORDON TROPICAL STORM JERRY
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as T-STORM (GRP)"
## [1] LIGHTNING AND THUNDERSTORM WIN SEVERE THUNDERSTORM
## [3] SEVERE THUNDERSTORMS THUNDERSTORM
## [5] THUNDERSTORM DAMAGE THUNDERSTORM DAMAGE TO
## [7] THUNDERSTORM W INDS THUNDERSTORM WINS
## [9] THUNDERSTORMS THUNDERSTORMW
## [11] THUNDERSTORMW 50 TSTM
## [13] TSTM HEAVY RAIN TSTM WND
## [15] TSTMW
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as LIGHTNING (GRP)"
## [1] LIGHTNING HEAVY RAIN/LIGHTNING
## [3] LIGHTING LIGHTNING
## [5] LIGHTNING WAUSEON LIGHTNING AND HEAVY RAIN
## [7] LIGHTNING DAMAGE LIGHTNING INJURY
## [9] LIGHTNING. LIGHTNING/HEAVY RAIN
## [11] LIGNTNING
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
## [1] "The following EVTYPE values were reclassified as MUD SLIDE (GRP)"
## [1] MUD SLIDE MUD SLIDES MUD/ROCK SLIDE
## [4] Mudslide MUDSLIDE MUDSLIDE/LANDSLIDE
## [7] Mudslides MUDSLIDES
## 985 Levels: HIGH SURF ADVISORY COASTAL FLOOD ... WND
## [1] ""
A total of 15,145 fatalities was recorded. Of those, 15,012 were due to the top 20 causes. The following the are top 20 weather-related causes of fatalities in descending order.
top_fatalities
## Source: local data frame [20 x 2]
##
## EVTYPE_GRP FATALITIES
## 1 TORNADO (GRP) 5664
## 2 HEAT (GRP) 3178
## 3 FLOOD (GRP) 1525
## 4 WIND (GRP) 1205
## 5 LIGHTNING (GRP) 817
## 6 WINTER (GRP) 642
## 7 RIP CURRENT (GRP) 577
## 8 COLD (GRP) 467
## 9 AVALANCHE 224
## 10 HURRICANE (GRP) 133
## 11 HIGH SURF 101
## 12 HEAVY RAIN 98
## 13 FIRE (GRP) 90
## 14 TROP. STORM (GRP) 66
## 15 FOG 62
## 16 HEAVY SURF/HIGH SURF 42
## 17 LANDSLIDE 38
## 18 TSUNAMI 33
## 19 URBAN/SML STREAM FLD 28
## 20 DUST STORM 22
A total of 140,528 injuries was recorded. Of those, 140,055 were due to the top 20 causes. The following are the top 20 weather-related causes of injuries in descending order.
top_injuries
## Source: local data frame [20 x 2]
##
## EVTYPE_GRP INJURIES
## 1 TORNADO (GRP) 91436
## 2 WIND (GRP) 11458
## 3 HEAT (GRP) 9243
## 4 FLOOD (GRP) 8602
## 5 WINTER (GRP) 6107
## 6 LIGHTNING (GRP) 5231
## 7 FIRE (GRP) 1608
## 8 HAIL (GRP) 1371
## 9 HURRICANE (GRP) 1333
## 10 FOG 734
## 11 RIP CURRENT (GRP) 529
## 12 DUST STORM 440
## 13 TROP. STORM (GRP) 383
## 14 DENSE FOG 342
## 15 COLD (GRP) 320
## 16 HEAVY RAIN 251
## 17 GLAZE 216
## 18 AVALANCHE 170
## 19 HIGH SURF 152
## 20 TSUNAMI 129
A total of 49,104,191,910 in crop damages was recorded. Of those, 49,096,914,510 were due to the top 20 causes. The following are the top 20 weather-releated causes of crop damage in descending order.
top_cropdmg
## Source: local data frame [20 x 2]
##
## EVTYPE_GRP CROPDMG
## 1 DROUGHT 13972566000
## 2 FLOOD (GRP) 12262259100
## 3 WINTER (GRP) 7313342400
## 4 HURRICANE (GRP) 5506117800
## 5 HAIL (GRP) 3046887450
## 6 WIND (GRP) 2149154450
## 7 COLD (GRP) 1416765500
## 8 HEAT (GRP) 904479280
## 9 HEAVY RAIN 733399800
## 10 TROP. STORM (GRP) 694896000
## 11 TORNADO (GRP) 417462910
## 12 FIRE (GRP) 403281630
## 13 EXCESSIVE WETNESS 142000000
## 14 HEAVY RAINS 60500000
## 15 LANDSLIDE 20017000
## 16 T-STORM (GRP) 18205000
## 17 LIGHTNING (GRP) 12092090
## 18 UNSEASONAL RAIN 10000000
## 19 URBAN/SML STREAM FLD 8488100
## 20 COOL AND WET 5000000
A total of 427,318,642,100 in property damages was recorded. Of those, 427,192,630,970 were due to the top 20 causes. The following are the top 20 weather-releated causes of property damage in descending order.
top_propdmg
## Source: local data frame [20 x 2]
##
## EVTYPE_GRP PROPDMG
## 1 FLOOD (GRP) 167512398320
## 2 HURRICANE (GRP) 85256410010
## 3 TORNADO (GRP) 58602764980
## 4 STORM SURGE 43323536000
## 5 WIND (GRP) 16021386470
## 6 HAIL (GRP) 15974047720
## 7 WINTER (GRP) 12399158450
## 8 FIRE (GRP) 8501628500
## 9 TROP. STORM (GRP) 7714390550
## 10 STORM SURGE/TIDE 4641188000
## 11 HEAVY RAIN/SEVERE WEATHER 2500000000
## 12 T-STORM (GRP) 1208463550
## 13 DROUGHT 1046106000
## 14 LIGHTNING (GRP) 933732280
## 15 HEAVY RAIN 694248090
## 16 LANDSLIDE 324596000
## 17 COLD (GRP) 246629400
## 18 TSUNAMI 144062000
## 19 HIGH SURF 89575000
## 20 URBAN/SML STREAM FLD 58309650