lecture
website icon
基本操作
×
website icon 資料管理 統計分析 相關資源 巨人肩膀 語法索引 關於作者

簡介

本部分介紹 R 的基本操作,使用到的函數包含:

R Console 中閃爍的紅色游標 > ,是 R 所有操作的起點。紅色游標後可以輸入運算子函數物件參數,構成 R 的基本語法。

四則運算

首先,R 本身就是一台計算機,可以直接在游標 > 後輸入運算子進行數學運算。

> 2+4
[1] 6
> 2-4
[1] -2
> 2*4
[1] 8
> 2/4
[1] 0.5
> 2+4*2 #先乘除後加減
[1] 10
> (2+4)*2 #括號內先計算
[1] 12

也可以進行指數、對數與模數運算。

> 2^4
[1] 16
> 4^(1/2) #開根號
[1] 2
> 8^(1/3) #開三次方
[1] 2
> log(100) #以自然對數為底
[1] 4.60517
> log10(100) #以10為底
[1] 2
> 8%%3
[1] 2

數列與排列組合

除了直接進行數學運算之外, R 也可以搭配內建函數執行相對應的功能。R 的函數指令由名稱+括弧所組成,括弧內可以空白,也可以輸入其他物件與參數。例如在游標 > 後輸入數列函數 seq() ,搭配 by 參數可以輸出等差數列。

> seq(1,5) #1-5等差數列
[1] 1 2 3 4 5
> seq(3,11, by=2) #首項3,末項11,公差2的等差數列
[1]  3  5  7  9 11

factorial()函數可以用來計算階乘,搭配排列組合公式,則可以計算\(P_k^n=\frac{n!}{(n-k)!}\)。

> factorial(5) #5階乘
[1] 120
> factorial(5)/factorial(2) #5取2排列
[1]  60

利用choose()函數來計算組合\(\binom{n}{k}=\frac{n!}{k!(n-k)!}\)。

> choose(5,2) #5取2組合
[1]  10

代數運算

前面提到的都是在游標 > 後輸入運算子或函數。其實配合 <- 指定符號, R 也可以指定物件或變數。例如指定 x, y 變數進行代數運算。

> x<-2
> y<-10
> x^y
[1] 1024

與函數功能搭配,甚至可以用來解方程式。例如解二元一次聯立方程式\(\begin{cases} 2x+3y=-4 \\ x-y=3 \end{cases}\)

> equation1<-c(2,3) #將2, 3係數指定給equation1
> equation2<-c(1,-1) #將1, -1係數指定給equation2
> Ans<-c(-4,3) #將-4, 3常數指定給Ans
> Sys<-rbind(equation1, equation2) #將方程式1,2結合指定給Sys
> solve(Sys, Ans) #solve()函數解聯立方程式
[1]  1 -2

解三元一次聯立方程式\(\begin{cases} 2x+2y+z=10 \\ 5x+3y+2z=19 \\ 3x+3y+z=13 \end{cases}\)

> equation3<-c(2,2,1)
> equation4<-c(5,3,2)
> equation5<-c(3,3,1)
> Ans2<-c(10,19,13)
> Sys2<-rbind(equation1, equation2, equation3)
> solve(Sys2, Ans2)
[1] 1 2 4

矩陣運算

矩陣本來就是 R 儲存資料的方式之一,後面會再詳細介紹。這裡只是要說明 R 其實也可以做矩陣運算。

> matrix_1<-c(1, 2, 3, 4, 5, 6)
> matrix_1<-matrix(matrix_1, nrow=2, ncol=3, byrow=T, dimnames=list(c("",""),c("","","")))
> matrix_1

 1 2 3
 4 5 6
> matrix_2<-c(7, 8, 9, 10, 11, 12)
> matrix_2<-matrix(matrix_2, nrow=2, ncol=3, byrow=T, dimnames=list(c("",""),c("","","")))
> matrix_2

  7  8  9
 10 11 12
> matrix_1+matrix_2

  8 10 12
 14 16 18

常用函數

R 有很多內建函數可以達成不同功能,常用數學函數有:

> abs() #絕對值
> sqrt() #開根號
> exp() #自然指數
> log() #自然對數
> log10() #以10為底對數
> round() #四捨五入
> mean() #平均數
> var() #變異數
> sd() #標準差
> sum() #加總
> range() #全距

常用的功能函數包含:

> install.package() #安裝延伸套件
> library() #讀取延伸套件
> save() #儲存檔
> load() #讀取檔案
> getwd() #顯示工作資料夾
> setwd() #設定工作資料夾
> rm() #移除檔案
> attach() #貼上檔案
> q() #關閉 R

其他函數例如 licence() 可以回傳 R 的版權頁。 demo() 可以展示相關功能,例如 demo(graphics) 可以展示繪圖功能。

> licence()
> demo()
> demo(graphics)

如果不知道函數的用途與參數,可以透過 help() 取得線上說明。例如 help(setwd) 可以取得 setwd() 函數的說明。

也可以用??+函數名稱,來查詢線上說明文件。

> help()
> help(getwd)
> ??setwd

history() 可以查詢過去輸入 R Console 的歷史資料。透過 savehistory() 以及 loadhistory() ,可以把這些步驟儲存成*.Rhistory格式,方便下次讀取。對於處理大量資料來說是一個很方便的功能。

> history()
> savehistory()
> loadhistroy()

最後如果要關閉 R 則可以透過 q() 或 quit() 來結束程式。

> q()
> quit()