課前準備及重要須知
所有人的電腦必須是唯一的最高權限使用者
使用者名稱必須是英文半形
R的檔案夾不可以放在同步google雲端
Rstudio cloud可以解決mac電腦或個人電腦的R無法正常執行的替代方式
先安裝直譯器 R 再安裝整合開發環境 RStudio
前往 Comprehensive R Archive Network, CRAN https://cran.r-project.org/ ,如果使⽤的作業系統是 Windows 請點選 Download R for Windows https://cran.r-project.org/bin/windows/ ,若作業系統是 Mac 請點選 Download R for (Mac) OS X https://cran.r-project.org/bin/macosx/
點選下載最新版本的安裝檔,其中 Windows 作業系統的⼆進位檔案副檔名為 .exe;Mac 作業系統的副檔名為 .pkg
下載完畢之後執⾏安裝檔,依照提⽰訊息點選確認或下⼀步就能完成安裝;其中 Windows 作業系統且電腦為 64 位元的使⽤者可以選擇不安裝 32 位元的檔案
前往 Download RStudio—RStudio https://rstudio.com/products/rstudio/download/ ,如果使⽤的作業系統是 Windows 請點選 RStudio X.X.XXX—Windows Vista/7/8/10,若是 Mac 作業系統請點選 RStudio X.X.XXX—Mac OS X XX.X+ (64-bit)
下載完畢之後執⾏安裝檔,依照提⽰訊息點選確認或下⼀步就能完成安裝
啟動RStudio
Mac 作業系統的使⽤者能夠在 Launchpad 中找到 RStudio 的圖⽰執⾏;或按下 command + 空⽩鍵(Space) 啟動 Spotlight Search 後輸⼊ RStudio 執⾏
Windows 作業系統使⽤者可以在開始選單中選擇所有程式找到 RStudio;假如 RStudio 安裝程式有產⽣桌⾯捷徑,則雙擊桌⾯捷徑
整合開發環境RStudio介面
來源(Source):位於左上⾓,編寫程式的區塊
命令列(Console):位於左下⾓,執⾏程式且呈現輸出的區塊
環境與歷史:位於右上⾓,其中環境(Environment)會顯⽰出⽬前可以取⽤的值(Values)、資料(Data)與函數(Functions);歷史(History)會顯⽰在命令列執⾏過哪些指令
檔案、圖形、套件、查詢與預覽器:位於右下⾓,其中檔案(Files)會顯⽰ R 語⾔所在的⼯作⽬錄(Working Directory)、圖形(Plots)則能瀏覽覺化圖形、套件(Packages)可以觀察套件安裝與載⼊現況、查詢(Help)能夠檢視使⽤ 者查詢的⽂件以及預覽器(Viewer)是預覽網⾴的輸出結果
關於R語言
R語言由紐西蘭奧克蘭⼤學的 Ross Ihaka 和 Robert Gentleman 所設計,是個開源的統計程式語⾔
常⽤於開發統計和資料分析軟體系統
近年在Hadley Wickham 與 RStudio 團隊所建構的應⽤套件以及⼤數據、資料科學與⼈⼯智慧的熱潮加持,廣受統計學家和資料科學家的熱愛
R語言特性
R 以函數型編程(Functional Programming)與資料分析作為設計理念核⼼
所有的資料(⽂字、數值或邏輯等)都不是以純量(Scalar)形式存在,⽽是以向量(Vector)形式存在
這樣的設計理念使得元素級別運算(element-wise operation)對R語⾔使⽤者⽽⾔是理所當然的
R程式設計基礎
學習 R 語⾔的第⼀步是認識賦值的符號 <-,它的作⽤是將其右邊的值指派給符號左邊的物件
在 RStudio 中,我們可以按 alt 與 - 幫我們⽣成 <- 符號
<- 符號跟其他程式語⾔的 = 符號功能是完全相同的
為物件命名的時候,請遵守三個R語言使⽤者的寫作⾵格
使⽤全⼩寫英⽂,不同單字之間以底線 _ 相隔
使⽤英⽂名詞為值(Values)和資料(Data)命名、使⽤英⽂動詞為函數(Functions)命名,讓名稱簡潔且具有意義
避免使⽤保留字與內建函數作為物件的命名
# 好的 R 物件命名
taiwan_number_one <- TRUE
taiwan_number_1 <- TRUE
taiwanNumberOne <- TRUE
# 不好的 R 物件命名
Taiwan_Number_One <- TRUE
TaiwanNumberOne <- TRUE
twno1 <- TRUE
# 更多不好的 R 物件命名
T <- FALSE # T 是保留字 TRUE
c <- 10 # c() 為內建函數
mean <- function(x) { # mean() 為內建函數
return(-x)
## Error: <text>:16:0: unexpected end of input
## 14: mean <- function(x) { # mean() 為內建函數
## 15: return(-x)
## ^
簡單常見的R內建函數
# 呼叫 print() 函數或物件名稱可以將物件內容輸出在 Console
hello_msg <- "Hello R!"
print(hello_msg)
## [1] "Hello R!"
hello_msg
## [1] "Hello R!"
# 呼叫rm() 函數將完成賦值的物件自環境中刪除,rm是remove 的縮寫
rm(hello_msg)
print(hello_msg)
## Error in print(hello_msg): 找不到物件 'hello_msg'
# 呼叫help() 函數查詢資料以及函數 的說明⽂件
help(iris) # 查詢資料,也可以使用 ?iris
## starting httpd help server ... done
help(print) # 查詢函數,也可以使用 ?print
# 呼叫sessionInfo() 顯示R語言版本與相關資訊
sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 18363)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950
## [2] LC_CTYPE=Chinese (Traditional)_Taiwan.950
## [3] LC_MONETARY=Chinese (Traditional)_Taiwan.950
## [4] LC_NUMERIC=C
## [5] LC_TIME=Chinese (Traditional)_Taiwan.950
##
## 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 tools_4.0.3 htmltools_0.5.0
## [5] yaml_2.2.1 stringi_1.5.3 rmarkdown_2.6 knitr_1.30
## [9] stringr_1.4.0 xfun_0.19 digest_0.6.27 rlang_0.4.9
## [13] evaluate_0.14
# 呼叫Sys.getlocale() 顯示R語言的地區以及語言資訊
Sys.getlocale()
## [1] "LC_COLLATE=Chinese (Traditional)_Taiwan.950;LC_CTYPE=Chinese (Traditional)_Taiwan.950;LC_MONETARY=Chinese (Traditional)_Taiwan.950;LC_NUMERIC=C;LC_TIME=Chinese (Traditional)_Taiwan.950"
設定工作目錄
# 呼叫getwd() 顯示R 語⾔的⼯作⽬錄,wd 為working directory 的縮寫
getwd()
# 呼叫setwd() 設定R 語⾔的⼯作⽬錄
# 此處 Windows 使⽤者要特別注意路徑斜線要使⽤ / 正斜線(⽽⾮ Windows 作業系統使⽤的 \ 反斜線),並且避免在路徑設定上出現空格與⾮英⽂的⽂字
setwd("/Users/YOURUSERNAME/Desktop") #將 MacOS桌⾯設為⼯作⽬錄
setwd("C:/Users/YOURUSERNAME/Desktop") #將Windows 桌⾯設為⼯作⽬錄
R Console ⼀直出現+的故障排除
R 語⾔的 Console在預期使⽤者未完成輸⼊的時候會持續出現 + 提⽰尚有指令需要輸⼊,常⾒的情景像是應該成對出現的雙引號、⼩括號、中括號與⼤括號,卻並沒有輸⼊完整
# 遺漏右邊的雙引號
my_fav_pg <- "Steve Nash
# 遺漏右邊的小括號
print("Steve Nash"
# 遺漏右邊的中括號
iris[1, 1
# 遺漏右邊的大括號
say_hello <- function(){
return("Hello R!")
## Error: <text>:5:8: unexpected symbol
## 4: # 遺漏右邊的小括號
## 5: print("Steve
## ^
我們有兩種⽅式排除這個故障
在+之後完成遺漏的輸⼊
在Console 按Esc 鍵離開,重新來過
參考劉正山(2018) ch3
完成R與RStudio的安裝之後
套件的安裝、更新、掛載與移除
安裝套件的指令是install.packages(),而串聯(contatenate) 不同字串的指令是c()。套件名稱是字串,因此每個套件名稱要加上""。
另一種方法是點選右下方窗格中的Packages,選擇Install,手動輸入套件名稱
install.packages(c("cars", "sjPolt", "sjmisc"))
install.packages("installr")
require(installr)
updateR()
update.packages (ask=FALSE)
install.packages("sjmisc")
# 方法一
sjmisc::frq(iris$Sepal.Length)
# 方法二
library(sjmisc)
frq(iris$Sepal.Length)
# Iris dataset 是一個古典的花朵資料集,由英國統計學家 Ronald Fisher 爵士在1936年時,對加斯帕半島上的鳶尾屬花朵所提取的花瓣花萼的長寬數據資料,依照山鳶尾,變色鳶尾,維吉尼亞鳶尾三類進行標示,共150筆資料。
# Iris dataset 中包含四種屬性 (Atrributes) 與三種花卉標籤 (Labels)
# Sepal length: 花萼長度 (cm)
# Sepal width: 花萼寬度 (cm)
# Petal length: 花瓣長度 (cm)
# Petal width: 花瓣寬度 (cm)
# setosa: 山鳶尾
# versicolor: 變色鳶尾
# virginica: 維吉尼亞鳶尾
remove.package("package0")#移除一個套件
> remove .package(c("package1","package2", "pacakge3")) #移除多個套件