R语言ggplot2画图风暴数据分析报告附代码数据.docx
《R语言ggplot2画图风暴数据分析报告附代码数据.docx》由会员分享,可在线阅读,更多相关《R语言ggplot2画图风暴数据分析报告附代码数据.docx(11页珍藏版)》请在冰豆网上搜索。
![R语言ggplot2画图风暴数据分析报告附代码数据.docx](https://file1.bdocx.com/fileroot1/2022-10/23/75f4b6dc-1fe8-46ec-bcc9-43d510327e69/75f4b6dc-1fe8-46ec-bcc9-43d510327e691.gif)
R语言ggplot2画图风暴数据分析报告附代码数据
R语言ggplot2画图风暴数据分析报告
##加载需要的库包
library("knitr")
library("lattice")
library("ggplot2")
library("gridExtra")
现在,数据集风暴已经被加载,如下表所示:
setwd("J:
/SDSU/Coursera/Reproducibleresearch/Asgn2/strom_data")
require("knitr")
opts_knit$set(root.dir="J:
/SDSU/Coursera/Reproducibleresearch/Asgn2/strom_data")
strom<-read.csv("strom_data.csv",sep=",")
head(strom)
##STATE__BGN_DATEBGN_TIMETIME_ZONECOUNTYCOUNTYNAMESTATE
##114/18/19500:
00130CST97MOBILEAL
##214/18/19500:
00145CST3BALDWINAL
##312/20/19510:
001600CST57FAYETTEAL
##416/8/19510:
00900CST89MADISONAL
##5111/15/19510:
001500CST43CULLMANAL
##6111/15/19510:
002000CST77LAUDERDALEAL
##EVTYPEBGN_RANGEBGN_AZIBGN_LOCATIEND_DATEEND_TIMECOUNTY_END
##1TORNADO00
##2TORNADO00
##3TORNADO00
##4TORNADO00
##5TORNADO00
##6TORNADO00
##COUNTYENDNEND_RANGEEND_AZIEND_LOCATILENGTHWIDTHFMAGFATALITIES
##1014100300
##202150200
##300.1123200
##400100200
##500150200
##601.5177200
##INJURIESPROPDMGPROPDMGEXPCROPDMGCROPDMGEXPWFOSTATEOFFICZONENAMES
##11525K0
##202.5K0
##3225K0
##422.5K0
##522.5K0
##662.5K0
##LATITUDELONGITUDELATITUDE_ELONGITUDE_REMARKSREFNUMXX.1X.2
##130408812305188061
##230428755002
##333408742003
##434588626004
##534128642005
##634508748006
现在,我们需要修剪数据集为我们的目的。
这需要从数据集中选择某些变量。
变量包括开始数据“BGN_DATE”,事件类型“EVTYPE”,死亡人数“致命”,受伤人数“受伤”,财产损失“PROPDMG”和作物损害“CROPDMG”。
而事件的总结可以得到如下:
#Trimthedatasettorequiredcolumnsonly
stormEvent<-strom[,c("BGN_DATE","EVTYPE","FATALITIES","INJURIES",
"PROPDMG","PROPDMGEXP","CROPDMG","CROPDMGEXP")]
summary(stormEvent)
##BGN_DATEEVTYPEFATALITIES
##5/25/20110:
00:
1202HAIL:
2886120:
895266
##4/27/20110:
00:
1193TSTMWIND:
2199211:
5008
##6/9/20110:
00:
1030THUNDERSTORMWIND:
82563:
1416
##5/30/20040:
00:
1016TORNADO:
605772:
1003
##4/4/20110:
00:
1009FLASHFLOOD:
542773:
316
##4/2/20060:
00:
981FLOOD:
253264:
167
##(Other):
897439(Other):
172594(Other):
694
##INJURIESPROPDMGPROPDMGEXPCROPDMG
##0:
8845660:
663188:
4674210:
880055
##1:
77565:
32649K:
4246105:
4276
##2:
313410:
22010M:
1132010:
2381
##3:
15501:
190660:
21650:
2011
##:
14952:
17865F0:
143:
1427
##4:
92725:
17695B:
401:
1404
##(Other):
4442(Other):
131397(Other):
120(Other):
12316
##CROPDMGEXP
##:
619698
##K:
281832
##M:
1994
##G4:
143
##OKLAHOMA,Western,CentralandSoutheast:
137
##k:
21
##(Other):
45
Thedatahasbeenseparatedintotwotypes:
1.fatalitiesdata:
-whichconsistsofnumberoffatalitiesandinjuriesduetotheevent.2.economicdata:
-whichconsistsofamountoflossesonthepropertyandcropincurredduetotheevent.Afterthatthesumofthefatalitiesforeachindividualeventhasbeenclassifiedandrankedindescendingorderandtopfiveeventareselected.Theeventsforthefatalitiesarelistedas:
fatalities_data<-subset(strom,strom$FATALITIES!
=0&strom$INJURIES!
=0,select=c(EVTYPE,FATALITIES,INJURIES))
fatalities_list<-aggregate(as.numeric(fatalities_data$FATALITIES),
by=list(fatalities_data$EVTYPE),FUN=sum)
colnames(fatalities_list)<-c("EVENT","FATALITIES")
fatalities_list<-fatalities_list[order(fatalities_list$FATALITIES,decreasing=TRUE),][1:
5,]
kable(fatalities_list,format="pandoc")
EVENT
FATALITIES
95
TORNADO
35952
65
LIGHTNING
3464
98
TSTMWIND
2376
26
EXCESSIVEHEAT
1872
31
FLASHFLOOD
1589
Similarly,thesumoftheinjuriesforeachindividualeventhasbeenclassifiedandrankedindescendingorderandtopfiveeventareselected.Theeventsfortheinjuriesarelistedas:
injury_list<-aggregate(as.numeric(fatalities_data$INJURIES),
by=list(fatalities_data$EVTYPE),FUN=sum)
colnames(injury_list)<-c("EVENT","INJURIES")
injury_list<-injury_list[order(injury_list$INJURIES,decreasing=TRUE),][1:
5,]
kable(injury_list,format="pandoc")
EVENT
INJURIES
95
TORNADO
133109
65
LIGHTNING
13508
98
TSTMWIND
9869
26
EXCESSIVEHEAT
5280
53
HIGHWIND
4864
Now,thebarplotfortheabovetabulardatahasbeenconstructedforthebettervisualization.So,theplotisobtainedforthenumberoffatalitiesandinjuriesareshownbelow.
Death_plot<-ggplot()+geom_bar(data=fatalities_list,aes(x=EVENT,
y=FATALITIES,fill=interaction(FATALITIES,EVENT)),stat="identity",
show.legend=F)+theme(axis.text.x=element_text(angle=30,hjust=1))+
xlab("HarmfulEvents")+ylab("No.offatailities")+ggtitle("Top5weathereventscausingfatalities")+
theme(axis.text.x=element_text(angle=30,hjust=1))
Injury_plot<-ggplot()+geom_bar(data=injury_list,aes(x=EVENT,
y=INJURIES,fill=interaction(INJURIES,EVENT)),stat="identity",
show.legend=F)+theme