tft每日頭條

 > 科技

 > 箱線圖如何描述數據

箱線圖如何描述數據

科技 更新时间:2024-07-29 19:12:09

在同一副圖形中輸出多個箱線圖用于比較數據的分布情況是探索分析階段一個比較常見的需求,本文介紹四種使用R來實現的方法。

先說一下本案例使用的數據的背景:該數據集為廣州2013~2015年每年的1月1日~11月17日的每日平均氣溫數據。做此分析的目的,是為了說明廣州2015年比過去兩年更熱。

完整的分析過程見這篇文章《數據分析完整過程演示——氣溫數據分析》,本文抽出其中的箱線圖部分,對箱線圖的繪制進行詳細介紹。

step1 載入數據

#設定工作目錄,并從工作目錄讀取數據setwd('D:/data_visual/data/4.3box_plot')wea<-read.csv(file = "weather.csv",header = TRUE)#查看數據的前6行head(wea)

## 日期 year2013 year2014 year2015 ## 1 1月1日 7 6 5 ## 2 1月2日 9 12 8 ## 3 1月3日 6 12 7 ## 4 1月4日 6 8 9 ## 5 1月5日 5 10 17 ## 6 1月6日 7 10 14

step2 繪制箱線圖

要求:分别對13年、14年、15年的氣溫繪制箱線圖,并嘗試把他們顯示在同一幅圖形中以便于比較

方法一、用R基礎包中的boxplot函數繪制箱線圖,并使用par函數将輸出的三幅圖形顯示在同一個畫面中

par(mfrow=c(1,3)) boxplot(wea$year2013) boxplot(wea$year2014) boxplot(wea$year2015)

箱線圖如何描述數據(連載數據可視化)1

輸出的三幅圖形中,縱軸的起始位置不同,不便于比較。此方法不可用。

另外三種方法需要對數據進行變換(寬表變長表)

#将數據從寬表變成長表,需要使用reshape2包library(reshape2)weather<-melt(wea,id.vars = '日期',variable.name = '年份',value.name = '氣溫')#查看轉換後的數據格式head(weather)

## 日期 年份 氣溫 ## 1 1月1日 year2013 7 ## 2 1月2日 year2013 9 ## 3 1月3日 year2013 6 ## 4 1月4日 year2013 6 ## 5 1月5日 year2013 5 ## 6 1月6日 year2013 7

方法二、利用基本繪圖函數繪制箱線圖

#仍然使用基礎包中的boxplot函數進行繪圖,以公式y~x的形式輸入數據boxplot(weather$氣溫~weather$年份,col='skyblue',main='廣州2013~2015年每日氣溫數據箱線圖')

4

箱線圖如何描述數據(連載數據可視化)2

縱軸起始位置相同,可以看出2015年的氣溫分布,中位數明顯高于過去兩年,2015對應的箱線圖的箱體也更高一點。

下面的兩種方法需要使用ggplot2包

#利用ggplot2包進行繪圖library(ggplot2)#導入ggplot2的主題包library(ggthemes)

方法三、使用ggplot2包中的qplot函數進行繪圖

#以x,y的順序排列數據qplot(年份,氣溫,data = weather,geom = 'boxplot') theme_economist labs(title='廣州2015年比過去兩年更熱',subtitle='通過繪制箱線圖進一步佐證條形圖和線圖得出的結論')

箱線圖如何描述數據(連載數據可視化)3

方法四、使用ggplot2包中的ggplot函數進行繪圖

ggplot(weather,aes(x=年份,y=氣溫)) geom_boxplot #使用ggtheme包中的經濟學人主題 theme_economist labs(title='廣州2015年比過去兩年更熱', subtitle='通過繪制箱線圖進一步佐證條形圖和線圖得出的結論')

個人認為在數據探索階段,Excel、SPSS、Python、R這四種工具比較起來,使用R進行探索性繪圖,是相對來說最合适的。因為Excel數據量大時,很卡;SPSS同樣卡,而且數據的整理和處理非常不方便;Python的繪圖函數沒有R中的好用,也不太容易記憶。R裡面的ggplot2包很強大,花點時間掌握後,用起來非常方便。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved