旗下產(chǎn)業(yè): A產(chǎn)業(yè)/?A實(shí)習(xí)/?A計(jì)劃
全國統(tǒng)一咨詢熱線:010-5367 2995
首頁 > 熱門文章 > 大數(shù)據(jù)分析 > 使用R語言把火災(zāi)數(shù)據(jù)可視化

使用R語言把火災(zāi)數(shù)據(jù)可視化

時間:2020-09-08來源:5wd995.cn點(diǎn)擊量:作者:Sissi
時間:2020-09-08點(diǎn)擊量:作者:Sissi



  最近幾周,有關(guān)四川涼山部分地區(qū)發(fā)生毀滅性野火的新聞在新聞中尤為突出。盡管大多數(shù)野火是人為意外引發(fā)的,但諸如風(fēng)和干旱之類的天氣條件會加劇火勢的蔓延和強(qiáng)度。更好地了解歷史野火趨勢和原因可以為火災(zāi)管理提供信息并挽救生命和財(cái)產(chǎn)。在本使用R語言把火災(zāi)數(shù)據(jù)可視化練習(xí)中,我們將使用R進(jìn)行探索性數(shù)據(jù)可視化我們了解了涼山的野火歷史數(shù)據(jù)。在決定對新數(shù)據(jù)集進(jìn)行進(jìn)一步分析時,探索性數(shù)據(jù)可視化是重要的第一步。如果您愿意,可以在安裝了R或RStudio的計(jì)算機(jī)上繼續(xù)學(xué)習(xí)。有關(guān)使用R和設(shè)置RStudio的入門知識,請查看我們的R入門課程。要學(xué)習(xí)執(zhí)行本練習(xí)中將使用的一些更高級的數(shù)據(jù)整理技術(shù),我們建議使用Intermediate R Programming。
 

  識別數(shù)據(jù)源
 

  首先,我們需要找到要使用的數(shù)據(jù)。林業(yè)與消防局提供了豐富的資源,其中包含歷史性的火災(zāi)數(shù)據(jù),包括有關(guān)可追溯至2000年的大型野火(大于300英畝)的大小,持續(xù)時間和原因的信息。
 

  我們已經(jīng)從林業(yè)與消防局抓取了數(shù)據(jù),并在此處提供了數(shù)據(jù)。數(shù)據(jù)集包含以下變量:
 

  1)id:事件編號,用于唯一標(biāo)識火災(zāi)的ID。

  2)unit:Ranger Unit,由林業(yè)與消防局用來標(biāo)識管理區(qū)域。* name:用來指火的名字。

  3)開始:大火開始的日期。

  4)結(jié)束:發(fā)生火災(zāi)的日期。

  5)agency:提供數(shù)據(jù)的聯(lián)邦機(jī)構(gòu)。

  6)英畝:大火燒毀的英畝數(shù)。該數(shù)據(jù)集包含有關(guān)300英畝以上大火的信息。

  7)原因:引起火災(zāi)的原因(如果已知)。
 

  我們會首先將數(shù)據(jù)導(dǎo)入R作為命名的數(shù)據(jù)幀ca_fires:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  讓我們看一下數(shù)據(jù)的前幾行:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  我們可以使用這些數(shù)據(jù)來回答各種問題,以幫助我們更好地了解過去的涼山野火:
 

  1)它們有多大?

  2)它們能持續(xù)多久?

  3)什么時候最有可能發(fā)生?

  4)他們的嚴(yán)重程度是否隨著時間而改變?
 

  準(zhǔn)備分析數(shù)據(jù)
 

  我們將創(chuàng)建可視化工具來回答其中的一些問題。數(shù)據(jù)非常干凈,但是在開始探索性可視化之前,我們需要執(zhí)行一些操作:
 

  1)在start和end變量是當(dāng)前字符數(shù)據(jù),但我們需要將其更改為日期。

  2)從start和end,我們可以計(jì)算出一個新變量duration,以告訴我們每次火災(zāi)持續(xù)多長時間。
 

  要將日期start和end可變?nèi)掌趶淖址麛?shù)據(jù)更改為日期數(shù)據(jù),我們將使用lubridate包。我們還將使用工具處理數(shù)據(jù)dplyr包中的數(shù)據(jù)。

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  使用dplyr函數(shù)mutate()和lubridate函數(shù)as.Date(),我們可以將start和end日期從字符更改為數(shù)字:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  因?yàn)樗赡苁前丛禄虬茨陙碛?jì)算匯總統(tǒng)計(jì)有用的,讓我們從公司提取信息start欄創(chuàng)造新的month和year變數(shù)。我們可以使用lubridate函數(shù)month()和執(zhí)行此操作year():

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  從start和end日期,我們還可以計(jì)算火災(zāi)持續(xù)時間。我們將創(chuàng)建一個新的變量,duration使用mutate():

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  為了使可視化顯示野火燃燒的面積隨時間變化的趨勢,我們將創(chuàng)建一個新變量acres_cumulative,其中包含使用mutate()和基礎(chǔ)R函數(shù)燃燒的累積面積之和cumsum():

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  現(xiàn)在,我們準(zhǔn)備開始通過創(chuàng)建可視化文件來探索數(shù)據(jù)。我們將使用ggplot2R中非常流行的數(shù)據(jù)可視化程序包。
 

  可視化數(shù)據(jù)分布
 

  讓我們從考慮關(guān)于野火數(shù)據(jù)的前兩個問題開始:
 

  1)CA野火有多大?

  2)它們能持續(xù)多久?
 

  在探索數(shù)據(jù)以試圖理解我們對該問題的答案時,一個好的第一步是創(chuàng)建直方圖,以了解數(shù)據(jù)的分布方式,或者大多數(shù)數(shù)據(jù)在值范圍內(nèi)的哪個位置。我們將使用ggplot()函數(shù)創(chuàng)建直方圖,以可視化變量area和的分布duration:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  首先讓我們看一下直方圖acres:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  在直方圖中,條形的高度對應(yīng)于落入變量值范圍(在x軸上)的觀察值(在y軸上顯示)的數(shù)量。從該直方圖中可以清楚地看到,數(shù)據(jù)高度不對稱:也就是說,絕大多數(shù)火災(zāi)小于幾千英畝,但是對于area近30萬英畝卻有一些非常大的價值。直方圖可以告訴我們持續(xù)多長時間的火災(zāi)?
 

  讓我們看一下直方圖duration:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  看一下該圖上的x軸比例。的所有值duration都應(yīng)為正數(shù),但直方圖表示存在一些較大的負(fù)值。讓我們使用該dplyr函數(shù)filter()來查看其值為duration負(fù)的觀測值:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  如果我們查看這些觀察的start和end日期,則可以發(fā)現(xiàn)它們似乎不正確,可能是由于數(shù)據(jù)輸入錯誤所致:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  讓我們從數(shù)據(jù)集中刪除這些明顯不準(zhǔn)確的觀察結(jié)果:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  如果我們重新運(yùn)行用于創(chuàng)建直方圖的代碼,而duration現(xiàn)在我們省略了具有不正確日期數(shù)據(jù)的行,則可以看到絕大多數(shù)火災(zāi)燃燒不到100天。

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  可視化年度模式
 

  現(xiàn)在,我們已經(jīng)使用直方圖來了解野火的最常見大小和持續(xù)時間,讓我們可視化數(shù)據(jù)來回答另一個問題:
 

  什么時候最有可能發(fā)生火災(zāi)?
 

  一年中的某些時候野火是否更常見?由于我們有一個month變量,我們可以可視化野火發(fā)生的趨勢以及按月燃燒的英畝數(shù)。首先,讓我們使用這些dplyr函數(shù)group_by()并summarize()創(chuàng)建每個月發(fā)生的火災(zāi)計(jì)數(shù):

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  然后,我們將創(chuàng)建一個條形圖以可視化每月發(fā)生的火災(zāi)數(shù)量:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  此條形圖使我們可以清楚地看到,大多數(shù)火災(zāi)發(fā)生在春季,夏季和秋季,這些季節(jié)的特點(diǎn)往往是炎熱,干燥的條件,有利于火勢蔓延。然而,它并沒有讓我們能夠想象的變異在不同年份之間,每月發(fā)生的火災(zāi)數(shù)量。取而代之的是,讓我們ca_fires按月和按年匯總數(shù)據(jù)幀中的火災(zāi)發(fā)生計(jì)數(shù),并創(chuàng)建一個箱形圖,使我們可以直觀地看出多年來每月火災(zāi)計(jì)數(shù)的變化性:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  箱形圖以圖形方式描繪了數(shù)據(jù)的最小值,最大值和中值,因此是用于比較數(shù)據(jù)組而又不遮掩可變性的出色可視化工具。讓我們看一下我們按月進(jìn)行的野火數(shù)量的箱線圖:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  正如我們之前創(chuàng)建的條形圖所示,野火在夏季最為常見,而在冬季則很少見。代表異常值的點(diǎn)的存在表明,盡管不常見,但野火可能全年發(fā)生。
 

  可視化隨時間變化
 

  讓我們繼續(xù)討論另一個可以使用這些數(shù)據(jù)回答的問題:
 

  野火嚴(yán)重程度是否隨時間變化?
 

  為了回答這個問題,我們將創(chuàng)建一個折線圖,該折線圖是隨時間推移而累積的累積英畝:

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  一條平滑的向上趨勢線表明,野火燃燒的英畝數(shù)隨時間推移一直保持不變,而燃燒的英畝數(shù)的任何增加或減少都會隨著線的坡度的變化而明顯。

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  當(dāng)我們看一看累積燃燒的英畝的折線圖時,我們可以看到一個看起來有點(diǎn)像階梯的模式:燃燒的英畝數(shù)量迅速增加,然后又趨于穩(wěn)定。根據(jù)早期的探索,我們可以推斷出這種模式很可能是由于季節(jié)差異造成的。在夏季,燃燒更多的土地,而在天氣涼爽的月份,增加的面積較小。我們還可以看到,有些“臺階”比另一些臺階高,這表明立即焚燒了更多英畝土地。
 

  結(jié)論和后續(xù)步驟
 

  在此練習(xí)中,我們的探索性數(shù)據(jù)可視化為我們使用了美國有關(guān)300英畝以上的加利福尼亞野火的信息:
 

  1)盡管存在一些較大的異常值,但大多數(shù)野火都小于幾百英畝,并且持續(xù)時間不到50天。

  2)大多數(shù)野火發(fā)生在夏季,盡管一年中的任何時候都可能發(fā)生。

  3)有些年份的野火更具破壞性。
 

  探索性數(shù)據(jù)可視化的目的是使您熟悉新的數(shù)據(jù)集,了解趨勢并計(jì)劃未來的分析。有趣的下一步可能是探索氣候和天氣條件對森林火災(zāi)發(fā)生頻率和嚴(yán)重性的影響。有許多此類數(shù)據(jù)來源:
 

  1)您可以從國家海洋和大氣管理局的國家綜合干旱信息系統(tǒng)計(jì)劃中獲取加利福尼亞州的干旱數(shù)據(jù)。

  2)可從海洋局獲得歷史天氣和氣候數(shù)據(jù),例如溫度和降水。

  3)大氣管理局提供有關(guān)土壤濕度的數(shù)據(jù),這是干旱的指標(biāo),并且是加劇野火的一個因素。

使用R語言把火災(zāi)數(shù)據(jù)可視化
 

  如果您想了解更多有關(guān)使用R進(jìn)行探索性數(shù)據(jù)可視化的信息,包括研究環(huán)境變量與野火數(shù)據(jù)之間關(guān)系的方法,請務(wù)必查看我們在R課程中的數(shù)據(jù)可視化。


 

預(yù)約申請免費(fèi)試聽課

填寫下面表單即可預(yù)約申請免費(fèi)試聽!怕錢不夠?可先就業(yè)掙錢后再付學(xué)費(fèi)! 怕學(xué)不會?助教全程陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!

?2007-2021/北京漫動者教育科技有限公司版權(quán)所有
備案號:京ICP備12034770號

?2007-2022/ 5wd995.cn 北京漫動者數(shù)字科技有限公司 備案號: 京ICP備12034770號 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc

京公網(wǎng)安備 11010802035704號

網(wǎng)站地圖