:::

用R畫箱型圖 / Draw Box-plot with R

11月 09, 2016 , 2 Comments Edit Post

image

今天上課的時候老師教了箱型圖(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)

最後可以得到以下的箱型圖:

Rplot2

解讀箱型圖 / How to read Box-plot

image

這個箱型圖的解讀方式可以參考上圖:

  • 最大值區間:Q3 + 1.5 * (Q3-Q1),以橫線表示
  • 上四分位數Q3:以內箱上限表示
  • 中位數:以內箱中的黑粗線表示
  • 下四分位數Q1:以內箱下限表示
  • 最小值區間:Q1 – 1.5 * (Q3-Q1),以橫線表示
  • 離群值:超過最大值區間或最小值區間的樣本,以圈圈表示

這樣的箱型圖用Excel是畫不出來的,這時候用R來繪製就很快了。值得大家學習喔。

總共2 則留言, (我要發問)

  1. 看了很多統計的書,介紹箱型圖的書雖然也是有,但是最大值區間跟最小值區間的標示,倒是R這邊獨有的畫法,跟傳統箱型圖不太一樣呢。

    回覆刪除
  2. 線上執行R的網站:http://www.r-fiddle.org

    回覆刪除

留言工具: