Chapter 1 關於本書

我希望可以寫作一本閱讀起來不那麼生澀的程式語言書籍,讓原本沒有程式基礎但是工作上有分析需求的使用者,像是產品經理(Product Managers)、商業分析師(Business Analysts)或行銷企劃人員(Marketing Specialists)能夠用很輕鬆的方式學會 R 語言,進而應用到工作中,提升工作掌握度。 這本書的寫作風格以輕鬆簡潔作為主要訴求,理想的閱讀時間是工作日的午餐時間,我認為最好的學習就是不佔用讀者工作以外的休憩時間,因此若能夠讓讀者一邊享用美味的午餐,一邊閱讀輕鬆簡潔的程式語言書籍,該是多麼美好而且值得推廣的理念。

1.1 誰是本書的目標讀者

這是一本 R 語言的入門書,它適合:

  1. 從未接觸過 R 語言的初學者。
  2. 想學習 R 語言的資料科學基本應用:資料處理與探索性分析的初學者。
  3. 使用過 R 語言,但只是快速應用套件而無法自己撰寫程式解題的初階使用者。

1.2 誰可能不是本書的目標讀者

這是一本 R 語言的入門書,它無法滿足這些需求:

  1. 已經能嫻熟使用 R 語言的中高階使用者。
  2. 想尋找一本鉅細靡遺 R 語言技術手冊的中階使用者。

1.3 程式區塊

本書內容所附的程式區塊具有兩種特性:自我包含(Self-contained)自我解釋(Self-explanatory),這裡所謂的自我包含所指的是每一個程式區塊都可以獨立執行,不需要倚賴其他的程式區塊,這也是為什麼您可能會看到很多相同的程式一直重複出現,因為我希望讓讀者能夠在任何地方中斷閱讀,也能夠在任何地方繼續閱讀。 而這裡所謂的自我解釋所指的是每一個程式區塊都是在解釋(或示範)前後文的描述,因為我相信在程式語言的學習上,千言萬語的文字敘述,往往不如一行程式與它所執行的結果還能夠清楚表達一個觀念。本書所附的程式區塊採用輸入與輸出一併陳列,鼓勵讀者全選複製並在自己的 R/RStudio 環境執行並觀察輸出。

for (i in 1:3){
  print(c("我", "喜歡", "R 語言")[i])
}
## [1] "我"
## [1] "喜歡"
## [1] "R 語言"

1.4 環境與版本

本書使用 R/RStudio 撰寫 R 的程式設計,詳細版本資訊為:

sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur 10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] compiler_4.0.3  magrittr_2.0.1  bookdown_0.21   tools_4.0.3    
##  [5] htmltools_0.5.0 rstudioapi_0.13 yaml_2.2.1      stringi_1.5.3  
##  [9] rmarkdown_2.6   knitr_1.31      stringr_1.4.0   xfun_0.20      
## [13] digest_0.6.27   rlang_0.4.9     evaluate_0.14