R 資料探索與基本繪圖

箱形圖(Box Plots)

箱形圖的作用也是用來呈現資料的大致分佈情形,常用於比較不同資料之間的分布差異。

base 系統

base 系統中可用 boxplot 繪製箱形圖:

boxplot(InsectSprays$count)
r-data-exploration-and-visualization-boxplot-1

箱形圖

若要依據變數來分組繪製箱形圖,可以使用公式的方式表示:

boxplot(count ~ spray, data = InsectSprays)

這樣就會以 spray 為依據,將 count 的值分組繪製箱形圖:

r-data-exploration-and-visualization-boxplot-2

箱形圖

若要依照資料的中位數來排序畫出來的箱形圖,可以先將資料整理成一個排序好的 data frame,再呼叫 boxplot 繪圖:

my.InsectSprays <- within(
  InsectSprays,
  spray <- reorder(spray, count, median)
)
boxplot(count ~ spray, data = my.InsectSprays)
r-data-exploration-and-visualization-boxplot-3

箱形圖

lattice 系統

lattice 系統中可用 bwplot 繪製箱形圖,其用法跟 boxplot 幾乎一樣:

bwplot(InsectSprays$count)
r-data-exploration-and-visualization-boxplot-4

箱形圖

依據變數分組的用法也相同:

bwplot(count ~ spray, data = InsectSprays)
r-data-exploration-and-visualization-boxplot-5

箱形圖

排序後的箱形圖:

bwplot(count ~ spray, data = my.InsectSprays)
r-data-exploration-and-visualization-boxplot-6

箱形圖

ggplot2 系統

ggplot2 系統若要繪製箱形圖,可以使用 geom_boxplot

ggplot(InsectSprays, aes(x = spray, y = count)) +
  geom_boxplot()
r-data-exploration-and-visualization-boxplot-7

箱形圖

排序後的箱形圖:

ggplot(my.InsectSprays, aes(x = spray, y = count)) +
  geom_boxplot()
r-data-exploration-and-visualization-boxplot-10

箱形圖

如果使要繪製單一變數的話,可以用這樣的方式:

ggplot(InsectSprays, aes(x = 1, y = count)) +
  geom_boxplot()
r-data-exploration-and-visualization-boxplot-8

箱形圖

將 x 軸與 y 軸互換:

ggplot(InsectSprays, aes(x = 1, y = count)) +
  geom_boxplot() +
  coord_flip()
r-data-exploration-and-visualization-boxplot-9

箱形圖

R

2 留言

  1. 123

    這一頁有錯字喔~
    第一段base 與 grid 系統:
    雖然 grid 的彈性很大,但是對於資料量比較大的”圖形”

Leave a Reply