用R畫箱型圖 / Draw Box-plot with R
今天上課的時候老師教了箱型圖(Box-plot、盒型圖、盒鬚圖),可以有效比較不同資料集的分佈。我研究了一下怎麼用R來畫箱型圖,整理一個簡單的R Script,在此跟大家分享。
繪製箱型圖 / Box-plot R Script
在這個R Script種,我先用手動輸入資料、再用常態分佈產生亂數rnorm()跟隨機產生亂數runif()來製作三組各有30個樣本的資料。然後把這三組資料組合成Data Frame格式,丟到boxplot()去繪製箱型圖。R Script的內容如下:(boxplot.R)
# 宣告資料
# 以自定義數值鍵入資料
group.exp1 <- c(45,47,52,54,57,41,58,59,47,44,57,58,54,59,42,49,52,53,47,41,59,59,45,49,56,50,50,43,52,49)
# 產生隨機亂數30個,最低為50,最多為90
group.exp2 <- runif(30, min=50, max=90)
# 以常態分配產生亂數30個,平均數為80
group.ctl <- rnorm(30, mean=80, sd=10)
# 彙整成Data Frame格式 (類似表格)
data <- data.frame(group.exp1, group.exp2, group.ctl)
# 繪製箱型圖
boxplot(data)
最後可以得到以下的箱型圖:
解讀箱型圖 / How to read Box-plot
這個箱型圖的解讀方式可以參考上圖:
- 最大值區間:Q3 + 1.5 * (Q3-Q1),以橫線表示
- 上四分位數Q3:以內箱上限表示
- 中位數:以內箱中的黑粗線表示
- 下四分位數Q1:以內箱下限表示
- 最小值區間:Q1 – 1.5 * (Q3-Q1),以橫線表示
- 離群值:超過最大值區間或最小值區間的樣本,以圈圈表示
這樣的箱型圖用Excel是畫不出來的,這時候用R來繪製就很快了。值得大家學習喔。
看了很多統計的書,介紹箱型圖的書雖然也是有,但是最大值區間跟最小值區間的標示,倒是R這邊獨有的畫法,跟傳統箱型圖不太一樣呢。
回覆刪除線上執行R的網站:http://www.r-fiddle.org
回覆刪除