第 5 章 Use R Markdown to Author an Article and a Book

5.1 開啟R Markdown

5.1.1 書寫方式與基礎環境設定

5.1.2 寫作模版

5.2 程式嵌入文本

5.2.1 R 的程式區塊Code chunks

5.2.2 圖表的標號

dat=read.csv("data/CPS1985.csv")

我們使用本週的副帶資料CPS1985.csv,其實這筆數據是來自套件AER,但是因為第二列的ID有不連續,所以本書將之移除,此處再使用。

summary(dat[,c("wage","education","experience","age")])
##       wage          education       experience         age      
##  Min.   : 1.000   Min.   : 2.00   Min.   : 0.00   Min.   :18.0  
##  1st Qu.: 5.250   1st Qu.:12.00   1st Qu.: 8.00   1st Qu.:28.0  
##  Median : 7.780   Median :12.00   Median :15.00   Median :35.0  
##  Mean   : 9.032   Mean   :13.03   Mean   :17.78   Mean   :36.8  
##  3rd Qu.:11.250   3rd Qu.:15.00   3rd Qu.:26.00   3rd Qu.:44.0  
##  Max.   :44.500   Max.   :18.00   Max.   :55.00   Max.   :64.0

我們須要的敘述統計,不能用summary()這個函數,要使用套件fBasics內的函數basicStats(),如下:

fBasics::basicStats(dat[,c("wage","education","experience","age")])
##                    wage   education  experience          age
## nobs         533.000000  533.000000  533.000000   533.000000
## NAs            0.000000    0.000000    0.000000     0.000000
## Minimum        1.000000    2.000000    0.000000    18.000000
## Maximum       44.500000   18.000000   55.000000    64.000000
## 1. Quartile    5.250000   12.000000    8.000000    28.000000
## 3. Quartile   11.250000   15.000000   26.000000    44.000000
## Mean           9.031707   13.026266   17.776735    36.795497
## Median         7.780000   12.000000   15.000000    35.000000
## Sum         4813.900000 6943.000000 9475.000000 19612.000000
## SE Mean        0.222676    0.113139    0.534801     0.506996
## LCL Mean       8.594274   12.804013   16.726155    35.799537
## UCL Mean       9.469140   13.248520   18.827316    37.791457
## Variance      26.428702    6.822617  152.444420   137.005092
## Stdev          5.140885    2.612014   12.346838    11.704917
## Skewness       1.685646   -0.205509    0.687582     0.549365
## Kurtosis       4.897286    0.826019   -0.383192    -0.582719

上面的顯示是所有的統計資訊,我們往往只須要少量幾個,例如 “Mean”, “Median”, “Stdev”, “Skewness”, 和”Kurtosis”。此時在markdown內,可以這樣輸出如表5.1

var.names=c("wage","education","experience","age")
stat.names=c("Mean","Median","Stdev","Skewness","Kurtosis")

tbl1=format(fBasics::basicStats(dat[,var.names])[stat.names,],digits = 2)
knitr::kable(
  as.data.frame(tbl1), caption = '4個變數的敘述統計!',
  booktabs = TRUE)
表 5.1: 4個變數的敘述統計!
wage education experience age
Mean 9.0 13.03 17.78 36.80
Median 7.8 12.00 15.00 35.00
Stdev 5.1 2.61 12.35 11.70
Skewness 1.7 -0.21 0.69 0.55
Kurtosis 4.9 0.83 -0.38 -0.58

5.2.3 字裡行間的 R 程式(Inline R Code)

5.3 插入數學符號與方程式

5.3.1 字裡行間的方程式

5.3.2 獨立方程式區塊

5.3.3 其他