從原始資料到完成品,我們對資料進行的每個步驟都應該紀錄下來,以便其他人可以照著一 樣的步驟,使用一樣的原始資料,得到相同的結果。然而一般的圖形介面軟體難以達到這種 需求,此時像是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")

從本例可以看到文章內容與資料處理步驟可以放在同一個文件內,而圖形則直接內嵌在這個 網頁裡面。