Report on the public health and economic impacts of severe weather events in the United States

Synopsis

Storms and severe weather events can have serious public health and economic consequences. The following report investigates two aspects of the impacts of extreme weather events, and represents the solution of an assignment in the Coursera course Reproducible Research. The report is based on material from the U.S. National Oceanic and Atmospheric Administration's (NOAA) storm database. The two aspects examined in this report are the following:

Data Processing

The data were downloaded from the course website and loaded into a dataframe called storm as follows:

stfile <- bzfile("repdata-data-StormData.csv.bz2")
stormraw <- read.csv(stfile)

This table contains several variables that we are not interested in. The only two columns of the raw data frame relevant to the two questions above are the EVTYPE, FATALITIES, PROPDMG, PROPDMGEXP, CROPDMG, and CROPDMGEXP columns.

We can remove the unneeded columns and only retain the six relevant ones as follows:

storm <- stormraw[c(8,23:28)]

A summary of the variables shows that for most of the storms (at least up to the 3rd quartile) there are no fatalities, injuries, property damage or crop damage specified:

summary(storm)
##                EVTYPE         FATALITIES     INJURIES         PROPDMG    
##  HAIL             :288661   Min.   :  0   Min.   :   0.0   Min.   :   0  
##  TSTM WIND        :219940   1st Qu.:  0   1st Qu.:   0.0   1st Qu.:   0  
##  THUNDERSTORM WIND: 82563   Median :  0   Median :   0.0   Median :   0  
##  TORNADO          : 60652   Mean   :  0   Mean   :   0.2   Mean   :  12  
##  FLASH FLOOD      : 54277   3rd Qu.:  0   3rd Qu.:   0.0   3rd Qu.:   0  
##  FLOOD            : 25326   Max.   :583   Max.   :1700.0   Max.   :5000  
##  (Other)          :170878                                                
##    PROPDMGEXP        CROPDMG        CROPDMGEXP    
##         :465934   Min.   :  0.0          :618413  
##  K      :424665   1st Qu.:  0.0   K      :281832  
##  M      : 11330   Median :  0.0   M      :  1994  
##  0      :   216   Mean   :  1.5   k      :    21  
##  B      :    40   3rd Qu.:  0.0   0      :    19  
##  5      :    28   Max.   :990.0   B      :     9  
##  (Other):    84                   (Other):     9

Since we are only interested in weather events that had some quantifiable adverse impact, it makes sense to remove those lines from the data set that have 0 values specified for all of these four variables. This reduces the number of rows to be processed from more than 900,000 to slightly more than 250,000:

storm <- storm[storm$FATALITIES != 0 | storm$INJURIES != 0 | storm$CROPDMG != 0 | storm$PROPDMG != 0,]

Another issue is cleaning up the exponents for the property and crop damages. The following values for these appear in the table:

levels(storm$PROPDMGEXP)
##  [1] ""  "-" "?" "+" "0" "1" "2" "3" "4" "5" "6" "7" "8" "B" "h" "H" "K"
## [18] "m" "M"
levels(storm$CROPDMGEXP)
## [1] ""  "?" "0" "2" "B" "k" "K" "m" "M"

Unfortunately the documentation of the database does not specify how these values should be interpreted. Presumably “H” means “hundred”, “K” means “thousand”, “M” means “million” and “B” means billion. The numeric values could mean 10n, but examining the descriptions of the events in the database more closely does not confirm this suspicion. Therefore I have treated all values beside H, K, M and B in the exponents columns as a multiplier value of 1000, i.e. equal to “K”, since according to the above summary of the columns this is by far the most frequent value for the exponent, and probably thus the intended value in these unusual cases.

In the next step I introduce two multiplier vectors, one for the property damage and the crop damage values each, according to the considerations above, coding the multipliers as powers of 10 (e.g. 3 means multiplying by 10n):

pmult <- vector(mode="integer", length=nrow(storm))
pmult[storm$PROPDMGEXP == "h" | storm$PROPDMGEXP == "H"] <- 2
pmult[storm$PROPDMGEXP == "m" | storm$PROPDMGEXP == "M"] <- 6
pmult[storm$PROPDMGEXP == "B"] <- 9
pmult[pmult == 0] <- 3

cmult <- vector(mode="integer", length=nrow(storm))
cmult[storm$CROPDMGEXP == "m" | storm$CROPDMGEXP == "M"] <- 6
cmult[storm$CROPDMGEXP == "B"] <- 9
cmult[cmult == 0] <- 3

Then the property, crop and total damage values are calculated by multiplying the PROPDMG and CROPDMG columns respectively by the previously calculated multipliers, and then adding the two results:

pdam <- storm$PROPDMG * 10^pmult
cdam <- storm$CROPDMG * 10^cmult
tdam <- pdam + cdam
storm <- cbind(storm, pdam, cdam, tdam)

I have carried out a quick sanity check on the data to see whether the damage values were in general correct:

summary(storm$pdam)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.00e+00 2.00e+03 1.00e+04 1.68e+06 3.50e+04 1.15e+11
summary(storm$cdam)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.00e+00 0.00e+00 0.00e+00 1.93e+05 0.00e+00 5.00e+09
summary(storm$tdam)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.00e+00 2.50e+03 1.00e+04 1.87e+06 5.00e+04 1.15e+11

I have checked the events with the highest damage values using:

storm[storm$pdam == max(storm$pdam),]
##        EVTYPE FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG CROPDMGEXP
## 605953  FLOOD          0        0     115          B    32.5          M
##            pdam     cdam     tdam
## 605953 1.15e+11 32500000 1.15e+11
storm[storm$cdam == max(storm$cdam),]
##             EVTYPE FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG
## 198389 RIVER FLOOD          0        0       5          B       5
## 211900   ICE STORM          0        0     500          K       5
##        CROPDMGEXP  pdam  cdam  tdam
## 198389          B 5e+09 5e+09 1e+10
## 211900          B 5e+05 5e+09 5e+09

The events with the highest damage values can then be examined in the raw data:

stormraw[605953,]
##        STATE__         BGN_DATE    BGN_TIME TIME_ZONE COUNTY COUNTYNAME
## 605953       6 1/1/2006 0:00:00 12:00:00 AM       PST     55       NAPA
##        STATE EVTYPE BGN_RANGE BGN_AZI BGN_LOCATI         END_DATE
## 605953    CA  FLOOD         0         COUNTYWIDE 1/1/2006 0:00:00
##           END_TIME COUNTY_END COUNTYENDN END_RANGE END_AZI END_LOCATI
## 605953 07:00:00 AM          0         NA         0         COUNTYWIDE
##        LENGTH WIDTH  F MAG FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG
## 605953      0     0 NA   0          0        0     115          B    32.5
##        CROPDMGEXP WFO          STATEOFFIC ZONENAMES LATITUDE LONGITUDE
## 605953          M MTR CALIFORNIA, Western               3828     12218
##        LATITUDE_E LONGITUDE_
## 605953       3828      12218
##                                                                                                                                                                                                                                                                                                                                                                                               REMARKS
## 605953 Major flooding continued into the early hours of January 1st, before the Napa River finally fell below flood stage and the water receeded. Flooding was severe in Downtown Napa from the Napa Creek and the City and Parks Department was hit with $6 million in damage alone. The City of Napa had 600 homes with moderate damage, 150 damaged businesses with costs of at least $70 million.
##        REFNUM
## 605953 605943
stormraw[198389,]
##        STATE__          BGN_DATE BGN_TIME TIME_ZONE COUNTY
## 198389      17 8/31/1993 0:00:00     0000       CST      1
##                       COUNTYNAME STATE      EVTYPE BGN_RANGE BGN_AZI
## 198389 ADAMS, CALHOUN AND JERSEY    IL RIVER FLOOD         0        
##          BGN_LOCATI END_DATE END_TIME COUNTY_END COUNTYENDN END_RANGE
## 198389 West Central                            0         NA         0
##        END_AZI END_LOCATI LENGTH WIDTH  F MAG FATALITIES INJURIES PROPDMG
## 198389                         0     0 NA   0          0        0       5
##        PROPDMGEXP CROPDMG CROPDMGEXP WFO STATEOFFIC ZONENAMES LATITUDE
## 198389          B       5          B                                 0
##        LONGITUDE LATITUDE_E LONGITUDE_
## 198389         0          0          0
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            REMARKS
## 198389 and Southwest  Illinois,The Great Flood of '93 continued into its second month as the Mississippi, Illinois, and Kaskaskia Rivers reached their peaks early in the month and then began a very slow fall.  Most points along the rivers were still above flood stage at the end of August.  The information in this entry should be treated as a continuation of the July entry. \n                    Flood Stage  Record  Date  Old Record  Date \nGrafton, Illinois:      18       38.15   8/1    33.12    4/28/73\nAlton, Illinois:         21       42.71   8/1    36.6     4/29/73\nChester, Illinois:      27       49.69   8/7    43.3     4/30/73 \nLife along the rivers slowly moved a bit toward normal during August, but for most, normal life along the rivers will never return.  As the water receded at the end of August, the damage became plainly visible.  Destroyed homes and businesses, were the rule, not the exception.  While there was some talk of rebuilding, a growing number of people were seriously considering giving the floodplains back to the rivers and moving to higher ground. \nThe National Weather Service (NWS) would like to compliment Mr.  Robert Lindemann and Mr.  Charles Staley, two employees on loan to the NWS from the Federal Aviation Administration, who gathered much of the information in this report. Adams County,On Wednesday (August 4) a ferry shuttle was set up on the Mississippi River between Quincy and La Grange since the bridges between Missouri and Illinois were still closed.  Two pontoon boats, carrying more than 40 people each, connected with shuttle busses waiting at the designated landing points. On August 31, the Mississippi River was still 2 feet above flood stage at Quincy. \nCalhoun County,On Monday (August 2) officials of Calhoun County reported there were 880 people displaced, up from the 584 counted July 22.  The flood had hit 220 homes and 60 businesses.  At Hardin Sunday (August 1) a levee protecting the town water plant gave way, closing the water plant until the levee was repaired and the floodwater was pumped out.  As of Tuesday (August 10) the boil order remained in effect in Hardin.  On Friday (August 27) the Hardin airlift, a month long effort by National Guard helicopter crews, unloaded their last load.  Reopened Illinois Highway 100 through Kampsville south to Hardin allowed daily food and supplies to be delivered by truck.  The Hardin bridge over the Illinois River remained closed as 7 feet of water was still in East Hardin.  At Kampsville, a sandbag levee protecting the American Archaeological Center broke Tuesday morning (August 3).  Two buildings in the complex, two homes and a business were quickly flooded, however the eleven million prehistoric artifacts were spared.  To date, 13 of the 17 buildings the Center owns had been flooded.  Wednesday (August 4) about 30 homes were flooded and every business was closed in Kampsville due to the Tuesday levee break.  Tuesday (August 10) the boil orders remained in effect in Kampsville. Jersey County,On Sunday (August 1) the mayor of Grafton said his town's water plant was pumping river water spiked with a heavy dose of chlorine.  Residents were warned to use the water only for bathing and flushing toilets.  Floodwater was still rising at Grafton at that time.  The boil order for Jersey County Rural Water District was canceled Friday (August 20).  Thursday ((August 19) a Grafton Alderman said too many of the town's 109 homes are still under water to begin any buy out applications. \nMadison County,The Mississippi swamped the landfill on Chouteau Island near Granite City Monday (August 2).  On Sunday (August 1) the water plant at Alton and 12 businesses were flooded when water pushed beneath a buckled street and into low-lying parts of downtown.  Water service was cut off to 72,000 customers.  The levee protecting the older portion of downtown failed in the 200 block of Piasa Street.  By Sunday night the river had taken buildings 3 blocks up from the river and was still climbing.  By Monday (August 2) Alton city officials estimate that Sunday's downtown flooding of a 3 square block area would cost about $4 million just to repair the streets, sidewalks and sewers.  Seventy-five businesses were flooded.  The Alton water plant resumed operation Friday (August 6) but the quality of the water was only suitable for flushing toilets.  As of Sunday (August 8) about 2.3 million gallons of water had been brought in by truck and distributed since the city's water plant was flooded on July 27.  The Illinois-American Water Company in Alton reported Saturday afternoon (August 14) that they had restored water service to all customers in Alton, Godfrey, Brighton, Elsah and Fosterburg.  A company spokesperson said the water was still not safe to drink even if boiled.  By Friday (August 20) a boil water order was lifted for residents of Alton, Brighton, Godfrey, Bunker Hill, Cottage Hills and the Forest Homes - Maple Park water district.  Some distant reaches of the water network were still affected by the boil order as more time was needed to flush out the system.  The mayor's office at Alton advised on Saturday (August 28) that the flood had damaged 45 businesses and 3 vacant buildings. \nMonroe County ,On Sunday (August 1) the Columbia levee broke flooding farms and 15,000 acres of farmland in the Columbia Bottoms area.  Some 65 homeowners in the Columbia Bottoms area fled Saturday night prior to the break.  Another levee break late Sunday, the second to fail in less than a day displaced about 1,800 people.  Sunday (August 8) officials estimated that 70,000 acres have been flooded in Monroe County, including 900 homes.  Monroe County officials advised on Wednesday (August 18) that the Federal levee along the Mississippi River will be rebuilt to the pre-flood level of 38 feet.  The Army Corps of Engineers call this a 10 year flood level.  The county would like the levee raised to a 100 year flood level and the Corps had agreed to make a study of its economic viability by 1995.  The Columbia mayor said Thursday (7-26) that 65 homes in the Bottoms area outside of the city limits were flooded.  Residents of about 20 of those homes have been able to return.  At Valmeyer, the Fountain Creek levee standing between the floodwater and the town, had water lapping at the top of the levee on Sunday (8/1/92).  The south levee at the creek had been raised to 51 feet by rock and sandbags.  The levee broke north of Valmeyer Monday (August 2) and began drowning the hopes of nearly all the 900 residents, confounding weeks of work and prayer.  The  Valmeyer School District planned to set up school in two portable buildings on the Monroe County Fairgrounds 4 miles east of Valmeyer.  More than 400 students in the district of 550 students have been displaced by the flood.  On August 26, the Mayor of Valmeyer said floodwater damaged 346 of the 350 homes in town and 8 of the 12 businesses.  Around 60% of the property owners had flood insurance.  Despite the flood insurance, many people talked of not returning, or of possibly moving the town to higher ground east of its present location. \nPike County,It was reported on Thursday (August 5) that the U.S.  54 bridge approach on the Illinois side of the Mississippi River may be repaired by early next week, making the bridge useable.  Pedestrians  were allowed to cross the bridge.  In Louisiana, Missouri at 6 P.M.  Saturday (August 7) the U.S.  54 bridge to Pike County Illinois was reopened.  Illinois had closed the bridge July 1, 1993.  Thousands of acres of farmland remained under water due to the Sny Levee break in July, even though some water was returning to the main channel of the Mississippi. \nRandolph County,As a wall of water from the levee break near Columbia, IL approached Prairie du Rocher August 1, it caused a flurry of activity in an attempt to save the town.  On Wednesday (August 4) dump trucks poured rocks on top of the levee at Prairie du Rocher.  Workers raised the levee at Prairie du Rocher to 52 feet.  The Army Corps of Engineers blasted holes in a levee southwest of town hoping to divert floodwater back into the Mississippi River.  On Thursday (August 5) the gamble to intentionally flood the bottom land northwest of Prairie du Rocher by blowing the Mississippi River levee paid off.  Although blowing the levee flooded 75 homes north of the levee at Prairie du Rocher these homes would have been flooded anyway with the approaching water from the Columbia levee break.  The Mississippi River crested August 5, with the levee protecting most of the town of Prairie du Rocher holding.  In Chester, on Monday (August 2) guards at the Menard Correctional Center moved 200 prisoners from low-level cells to higher ground.  In Evansville Friday (August 6) the Kaskaskia River caused flooding as it was backed up by the Mississippi River.  The city had been under a boil water order for about a month even though the water treatment plant was sandbagged and the water tests were satisfactory.  The backwater had flooded 6 businesses and 17 homes.  On Thursday (August 26) the Randolph County Sheriff said only 5 of the 162 houses on Kaskaskia Island remained standing.  The island had been flooded when the levee protecting the island blew in July.  The small town of Rockwood, in the southwest corner of Randolph County, reported that as of Saturday (August 28) all 30 homes had been flooded. \nSt. Clair County,The flood wall protecting East St. Louis held throughout the threat of flooding.  The only other potential problem was in the East Carondelet area where sandbagging stopped any major flooding.  The other problem in East Carondelet was involved the flooding at a propane tank farm across the river in Missouri.  If the tanks had exploded, the community would have been seriously affected.  The EMA officials said on August 31 that there had been no flooding serious in St.  Clair County. 
##        REFNUM
## 198389 198375
stormraw[211900,]
##        STATE__         BGN_DATE BGN_TIME TIME_ZONE COUNTY
## 211900      28 2/9/1994 0:00:00     0000       CST      0
##                            COUNTYNAME STATE    EVTYPE BGN_RANGE BGN_AZI
## 211900 MSZ001 - 023 - 025 - 026 - 034    MS ICE STORM         0        
##        BGN_LOCATI          END_DATE END_TIME COUNTY_END COUNTYENDN
## 211900            2/10/1994 0:00:00                   0         NA
##        END_RANGE END_AZI END_LOCATI LENGTH WIDTH  F MAG FATALITIES
## 211900         0                         0     0 NA   0          0
##        INJURIES PROPDMG PROPDMGEXP CROPDMG CROPDMGEXP WFO STATEOFFIC
## 211900        0     500          K       5          B               
##                                                             ZONENAMES
## 211900 DE SOTO - DE SOTO - CHICKASAW - LEFLORE - GRENADA - WASHINGTON
##        LATITUDE LONGITUDE LATITUDE_E LONGITUDE_
## 211900        0         0          0          0
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         REMARKS
## 211900 During the early morning hours on the 9th, freezing rain began falling over north Mississippi and continued through mid-day on the 10th.  Ice accumulation of three to six inches were common over the affected area. Due to the weight of the ice, power lines, trees and tree limbs were downed.  Many trees fell on houses and automobiles.  The ice storm cause significant damage to approximately 3.7 million  acres of commercial forestland.  The value of damaged timber was estimated to be $1.3 billion.  In addition to the damage of commercial timber was the damage to urban trees, estimated to be $27 million.  Twenty five percent of the states pecan crop will be lost for the next five to ten years at an estimated cost of $5.5 million per year. Nearly 750,000 customers were with out power in the affected area. Customers were without power for up to a month.  Over eight thousand  utility poles were pulled down by the weight of the ice.  Over 4,700 miles of power lines were down. Four-hundred-ninety-one water systems were affected  with around 741,000 customers without water.  Estimates of damage to utilities will run nearly $500 million.  This is the worst ice storm to strike Mississippi since a severe ice storm struck the state in January 1951.  
##        REFNUM
## 211900 211887

The latter two events seem correct, but the first event is very unlikely to have caused the indicated 115 billion dollars of damage based on the textual description of the event, so this should be corrected to 115 million in order to avoid serious distortion of the data:

storm$pdam[storm$pdam == 115000000000] <- 115000000
storm$tdam[storm$tdam == 115032500000] <- storm$pdam[storm$tdam == 115032500000] + storm$cdam[storm$tdam == 115032500000]

Having corrected this mistake, the next most costly event turns out to be the New Orleans flood of 2005, which makes sense:

storm[storm$pdam == max(storm$pdam),]
##             EVTYPE FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG
## 577676 STORM SURGE          0        0    31.3          B       0
##        CROPDMGEXP     pdam cdam     tdam
## 577676            3.13e+10    0 3.13e+10
stormraw[577676,]
##        STATE__          BGN_DATE    BGN_TIME TIME_ZONE COUNTY
## 577676      22 8/29/2005 0:00:00 02:00:00 AM       CST     40
##                              COUNTYNAME STATE      EVTYPE BGN_RANGE
## 577676 LAZ040 - 059 - 061>064 - 067>070    LA STORM SURGE         0
##        BGN_AZI BGN_LOCATI          END_DATE    END_TIME COUNTY_END
## 577676                    8/29/2005 0:00:00 05:00:00 PM          0
##        COUNTYENDN END_RANGE END_AZI END_LOCATI LENGTH WIDTH  F MAG
## 577676         NA         0                         0     0 NA   0
##        FATALITIES INJURIES PROPDMG PROPDMGEXP CROPDMG CROPDMGEXP WFO
## 577676          0        0    31.3          B       0            LIX
##                  STATEOFFIC
## 577676 LOUISIANA, Southeast
##                                                                                                                                                                                          ZONENAMES
## 577676 ST. TAMMANY - ST. TAMMANY - UPPER LAFOURCHE - UPPER JEFFERSON - ORLEANS - UPPER PLAQUEMINES - UPPER ST. BERNARD - LOWER LAFOURCHE - LOWER JEFFERSON - LOWER PLAQUEMINES - LOWER ST. BERNARD
##        LATITUDE LONGITUDE LATITUDE_E LONGITUDE_
## 577676        0         0          0          0
##                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            REMARKS
## 577676 Storm surge damage in southeast Louisiana, especially in the New Orleans area and the coastal parishes, was catastrophic.  Hurricane protection levees and floodwalls were overtopped and/or breached resulting in widespread and deep flooding of homes and businesses.  Much of Orleans and Plaquemines Parishes and nearly all of St. Bernard Parish were flooded by storm surge. Approximately 80 percent of the city of New Orleans was flooded.  Thousands of people were stranded by the flood waters in homes and buildings and on rooftops for several days and had to be rescued by boat and helicopter. In Jefferson Parish, levees were not compromised, however many homes were flooded by either heavy rain overwhelming limited pumping capacity or storm surge water moving through in-operable pumps into the parish.  Severe storm surge damage also occurred along the north shore of Lake Pontchartrain from Mandeville to Slidell with storm surge water moving inland as far as Old Towne Slidell with water up to 6 feet deep in some locations\n\nPost storm high water surveys of the area conducted by FEMA indicated the following storm surge estimates:  Orleans Parish - 12-15 feet in east New Orleans to 9 to 12 feet along the Lakefront; St. Bernard Parish - 14 to 17 feet; Jefferson Parish - 6 to 9 feet along the lakefront to 5 to 8 feet from Lafitte to Grand Isle; Plaquemines Parish - 15 to 17 feet; St. Tammany Parish - 11 to 16 feet in southeast portion to 7 to 10 feet in western portion. All storm surge heights are still water elevations referenced to NAVD88 datum.
##        REFNUM
## 577676 577616

Finally a column is added to the table that summarizes the health impacts of events by adding the fatalities and injuries:

storm$tcasual <- storm$INJURIES + storm$FATALITIES

This completes the preprocessing of the data.

Results

Across the United States, which types of events are most harmful with respect to population health?

From the earliest events included in the NOAA database up to November 2011, a total of 15145 fatalities and more than 140000 injuries were linked to severe weather events.

sum(storm$FATALITIES)
## [1] 15145
sum(storm$INJURIES)
## [1] 140528

The 20 most harmful severe weather events in terms of fatalities were the following:

fatsum <- aggregate(storm$FATALITIES, by=list(storm$EVTYPE), sum)
fatsum.2 <- fatsum[order(fatsum$x,decreasing=TRUE),]
othersum <- sum(fatsum.2[21:nrow(fatsum.2),2])
fatsum.2 <- fatsum.2[1:20,]
fatsum.2[21,1] <- "OTHER"
fatsum.2[21,2] <- othersum
row.names(fatsum.2) <- NULL
names(fatsum.2) <- c("Event Type", "Fatalities")
fatsum.2
##                 Event Type Fatalities
## 1                  TORNADO       5633
## 2           EXCESSIVE HEAT       1903
## 3              FLASH FLOOD        978
## 4                     HEAT        937
## 5                LIGHTNING        816
## 6                TSTM WIND        504
## 7                    FLOOD        470
## 8              RIP CURRENT        368
## 9                HIGH WIND        248
## 10               AVALANCHE        224
## 11            WINTER STORM        206
## 12            RIP CURRENTS        204
## 13               HEAT WAVE        172
## 14            EXTREME COLD        160
## 15       THUNDERSTORM WIND        133
## 16              HEAVY SNOW        127
## 17 EXTREME COLD/WIND CHILL        125
## 18             STRONG WIND        103
## 19                BLIZZARD        101
## 20               HIGH SURF        101
## 21                   OTHER       1632
library(ggplot2)
qplot(fatsum.2$"Event Type", fatsum.2$Fatalities, geom="bar", stat="identity", xlab = "Event Type", ylab = "Fatalities", main="Weather Event Types with the Most Fatalities") +  coord_flip()

plot of chunk unnamed-chunk-15

The 20 most harmful severe weather events in terms of injuries were the following:

injsum <- aggregate(storm$INJURIES, by=list(storm$EVTYPE), sum)
injsum.2 <- injsum[order(injsum$x,decreasing=TRUE),]
othersum <- sum(injsum.2[21:nrow(injsum.2),2])
injsum.2 <- injsum.2[1:20,]
injsum.2[21,1] <- "OTHER"
injsum.2[21,2] <- othersum
row.names(injsum.2) <- NULL
names(injsum.2) <- c("Event Type", "Injuries")
injsum.2
##            Event Type Injuries
## 1             TORNADO    91346
## 2           TSTM WIND     6957
## 3               FLOOD     6789
## 4      EXCESSIVE HEAT     6525
## 5           LIGHTNING     5230
## 6                HEAT     2100
## 7           ICE STORM     1975
## 8         FLASH FLOOD     1777
## 9   THUNDERSTORM WIND     1488
## 10               HAIL     1361
## 11       WINTER STORM     1321
## 12  HURRICANE/TYPHOON     1275
## 13          HIGH WIND     1137
## 14         HEAVY SNOW     1021
## 15           WILDFIRE      911
## 16 THUNDERSTORM WINDS      908
## 17           BLIZZARD      805
## 18                FOG      734
## 19   WILD/FOREST FIRE      545
## 20         DUST STORM      440
## 21              OTHER     5883
qplot(injsum.2$"Event Type", injsum.2$Injuries, geom="bar", stat="identity", xlab = "Event Type", ylab = "Injuries", main="Weather Event Types with the Most Injuries") +  coord_flip()

plot of chunk unnamed-chunk-16

These figures reveal that by far the most harmful weather event from a public health perspective are tornadoes. They are responsible for more than one-third of the total number of fatalities and about two-thirds of the injuries recorded. The second most dangerous event in terms of fatalities is (excessive) heat, which was responsible for almost 3000 deaths, i.e. almost 20 % of the recorded fatalities. Floods and flash floods are responsible for a further ca. 1500 deaths, i.e. almost 10 %. In terms of injuries the three major risks beside tornadoes are thunderstorm wind, (flash) floods and (excessive) heat, all of which accounted for between 8000 and 9000 deaths each.

Across the United States, which types of events have the greatest economic consequences?

Two economic consequences can be distinguished based on the content of the NOAA Storm database: property damage and crop damage. Note that the figures have not been corrected for inflation, so the amounts provided in the database do not make much sense directly. Note also that looking at the damage figures for earlier events it appears that these figures are estimates added later based on the type of the event, since the numbers for the events are very similar (almost all are 2.5 * some power of 10), and some of them seem unrealistic (e.g. some events are specified to have caused a property damage of $30). Disregarding these problems in the data set, which we are not in a position to correct, the severe weather events causing the top 20 amount of property damage in total are the following according to the NOAA database:

pdamsum <- aggregate(storm$pdam, by=list(storm$EVTYPE), sum)
pdamsum.2 <- pdamsum[order(pdamsum$x,decreasing=TRUE),]
othersum <- sum(pdamsum.2[21:nrow(pdamsum.2),2])
pdamsum.2 <- pdamsum.2[1:20,]
pdamsum.2[21,1] <- "OTHER"
pdamsum.2[21,2] <- othersum
row.names(pdamsum.2) <- NULL
names(pdamsum.2) <- c("Event Type", "Property Damage (Bn US$)")
pdamsum.2[2] <- pdamsum.2[2] / 1000000000
pdamsum.2
##                   Event Type Property Damage (Bn US$)
## 1          HURRICANE/TYPHOON                   69.306
## 2                    TORNADO                   56.937
## 3                STORM SURGE                   43.324
## 4                      FLOOD                   29.773
## 5                FLASH FLOOD                   16.141
## 6                       HAIL                   15.733
## 7                  HURRICANE                   11.868
## 8             TROPICAL STORM                    7.704
## 9               WINTER STORM                    6.688
## 10                 HIGH WIND                    5.270
## 11               RIVER FLOOD                    5.119
## 12                  WILDFIRE                    4.765
## 13          STORM SURGE/TIDE                    4.641
## 14                 TSTM WIND                    4.485
## 15                 ICE STORM                    3.945
## 16         THUNDERSTORM WIND                    3.483
## 17            HURRICANE OPAL                    3.173
## 18          WILD/FOREST FIRE                    3.002
## 19 HEAVY RAIN/SEVERE WEATHER                    2.500
## 20        THUNDERSTORM WINDS                    1.742
## 21                     OTHER                   12.842

During the period covered by the database, hurricanes and typhoons caused damage in excess of an estimated 80 billion dollars. If we add the cost of storm surges, which are also typically connected to hurricanes, the total costs exceed 120 billion dollars. The second most costly events were tornadoes at about 60 billion. The third most costly were floods including flash and river floods, costing a total of over 50 billion.

The events causing the top 20 amount in crop damage are the following:

cdamsum <- aggregate(storm$cdam, by=list(storm$EVTYPE), sum)
cdamsum.2 <- cdamsum[order(cdamsum$x,decreasing=TRUE),]
othersum <- sum(cdamsum.2[21:nrow(cdamsum.2),2])
cdamsum.2 <- cdamsum.2[1:20,]
cdamsum.2[21,1] <- "OTHER"
cdamsum.2[21,2] <- othersum
row.names(cdamsum.2) <- NULL
names(cdamsum.2) <- c("Event Type", "Crop Damage (Bn US$)")
cdamsum.2[2] <- cdamsum.2[2] / 1000000000
cdamsum.2
##           Event Type Crop Damage (Bn US$)
## 1            DROUGHT              13.9726
## 2              FLOOD               5.6620
## 3        RIVER FLOOD               5.0295
## 4          ICE STORM               5.0221
## 5               HAIL               3.0260
## 6          HURRICANE               2.7419
## 7  HURRICANE/TYPHOON               2.6079
## 8        FLASH FLOOD               1.4213
## 9       EXTREME COLD               1.2930
## 10      FROST/FREEZE               1.0941
## 11        HEAVY RAIN               0.7334
## 12    TROPICAL STORM               0.6783
## 13         HIGH WIND               0.6386
## 14         TSTM WIND               0.5540
## 15    EXCESSIVE HEAT               0.4924
## 16            FREEZE               0.4462
## 17           TORNADO               0.4151
## 18 THUNDERSTORM WIND               0.4148
## 19              HEAT               0.4015
## 20          WILDFIRE               0.2955
## 21             OTHER               2.1644

Clearly the event most dangerous to crops is drought, which cost about 14 billion. Floods (including flash and river floods) add up to a similar amount, about 12 billion. The costs of ice storms also exceeded 5 billion dollars, as do the costs of hurricanes and typhoons. Compared to the high amount of property damage they cause, tornadoes are relatively harmless to crops, causing less than half a billion of damage in total.

The events with the highest total economic cost were:

tdamsum <- aggregate(storm$tdam, by=list(storm$EVTYPE), sum)
tdamsum.2 <- tdamsum[order(tdamsum$x,decreasing=TRUE),]
othersum <- sum(tdamsum.2[21:nrow(tdamsum.2),2])
tdamsum.2 <- tdamsum.2[1:20,]
tdamsum.2[21,1] <- "OTHER"
tdamsum.2[21,2] <- othersum
row.names(tdamsum.2) <- NULL
names(tdamsum.2) <- c("Event Type", "Total Damage (Bn US$)")
tdamsum.2[2] <- tdamsum.2[2] / 1000000000
tdamsum.2
##                   Event Type Total Damage (Bn US$)
## 1          HURRICANE/TYPHOON                71.914
## 2                    TORNADO                57.353
## 3                STORM SURGE                43.324
## 4                      FLOOD                35.435
## 5                       HAIL                18.759
## 6                FLASH FLOOD                17.563
## 7                    DROUGHT                15.019
## 8                  HURRICANE                14.610
## 9                RIVER FLOOD                10.148
## 10                 ICE STORM                 8.967
## 11            TROPICAL STORM                 8.382
## 12              WINTER STORM                 6.715
## 13                 HIGH WIND                 5.909
## 14                  WILDFIRE                 5.061
## 15                 TSTM WIND                 5.039
## 16          STORM SURGE/TIDE                 4.642
## 17         THUNDERSTORM WIND                 3.898
## 18            HURRICANE OPAL                 3.192
## 19          WILD/FOREST FIRE                 3.109
## 20 HEAVY RAIN/SEVERE WEATHER                 2.500
## 21                     OTHER                20.010
qplot(tdamsum.2$"Event Type", tdamsum.2$"Total Damage (Bn US$)", geom="bar", stat="identity", xlab = "Event Type", ylab = "Total Damage in Bn US$", main="Weather Event Types with the Highest Economic Costs") +  coord_flip()

plot of chunk unnamed-chunk-19