從原始資料到完成品,我們對資料進行的每個步驟都應該紀錄下來,以便其他人可以照著一 樣的步驟,使用一樣的原始資料,得到相同的結果。然而一般的圖形介面軟體難以達到這種 需求,此時像是R這種使用文字紀錄、執行動作的資料處理環境就相對適合。
在論述內容不複雜的情形下,將論述內容、處理資料步驟與結果放在同一個文件內,對於想 重複實驗的讀者,這樣子做對其省了不少麻煩。
在這樣的需求下,許多R套件也應運而生。knitr即為其中之一。
以R內建的資料cars為例,我們先用數字顯示速度和距離的分佈情形:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
再用ggplot2畫個圖顯示整個資料的分佈情形:
library(ggplot2)
ggplot(cars, aes(x = dist, y = speed)) + geom_point(shape=1) + xlab("Distance") +
ylab("Speed") + ggtitle("Speed and Stopping Distances of Cars")
從本例可以看到文章內容與資料處理步驟可以放在同一個文件內,而圖形則直接內嵌在這個 網頁裡面。