第 2 章 R and RStudio
2.1 主要參考書籍
R for Data Science: abbreviation RDS.
資料科學與R語言 by 曾意儒: abbreviation 曾意儒.
R Markdown: the Definite Guide: abbreviation RMG.
2.2 What is R? What is RStudio?
R: programming language
CRAN, Comprehensive R Archive Network
The CDN, Content Delivery Network for R.
- https://cloud.r-project.org/: check Packages on the left.
RStudio
Integrated Development Environment (IDE) for R
整合開發環境。
2.3 RStudio environment
Editor
Two ways of keeping your scripts (a collection of code lines)
In this course, to save your script we will:
mainly use R Markdown/R Notebook: .Rmd file
sometimes, R Script: .R file
2.4 R Markdown
參考資料:https://rmarkdown.rstudio.com/
2.4.1 Cheatsheet
https://github.com/rstudio/cheatsheets/raw/master/rmarkdown-2.0.pdf
2.4.3 Rmd文件

圖 2.2: Rmd結構
Front matter

圖 2.3: Rmd結構: front matter
Setup of the document layout
Use YAML language:
在Rmd的一開頭。
區塊前後有
---
夾住。使用namevalue pair形式定義文件成品結構,圖中有四個namevalue pairs,分別定義了文件的
title
,author
,date
及output
,這四個文字即為name(有人也稱它為key),它的定義(即value)分別是"Untitled"
,"林茂廷"
,"2/27/2019"
及html_document
。
YAML語法的namevalue pair寫法為
name: value
,要注意:
(為半形分號)的後面「一定要有一個空格」。

圖 2.4: Name-value pair的一個空格,文字訊息由“…”包住
Code chunk

圖 2.5: Rmd結構: code chunk

圖 2.6: 反頓點在鍵盤的位置
以
```{...}
開始,以```
結束:…定義了區塊內是什麼程式語言及文件產生的設定。
中間區塊為程式碼。上例只有一行程式:
knitr::opts_chunk$set(echo = TRUE)
要執行code chunk內程式碼只需按右上角的
Markdown text area

圖 2.7: Rmd結構: markdown text area
支援markdown語法的文字寫作區塊。
此區塊的內容不會被當程式碼執行,單純文字寫作用。但因支援markdown,所以輸出時文字內容可以有排版的變化。
Markdown語法可見RMarkdown cheatshet背頁的Pandoc’s Markdown,或依以下方式叫出說明:

圖 2.8: Rmd結構: markdown text area
2.4.4 產生文件成品

圖 2.9: 產生文作成品
按文件上方的即可。
本學期多數時候不需要knit RMarkdown文件,同學只是用markdown text area來寫筆記,用code chunks來寫程式。
2.4.5 中文亂碼
現今天很多文件都是UTF-8編碼,但不少Windows環境使用的並不是它,這時請先選reopen with encodin...

圖 2.10: Reopen with encoding
再選UTF-8
,勾選Set as default encoding for source files
,按OK
。

圖 2.11: 設定UTF-8編碼