R 執行程式一般都是使用 Rstudio,可以使用左上角執行程式檔,也可以使用左下角的互動模式。另外,這次鐵人賽有看到蠻多組也是在講 R 程式設計的,我覺得都寫的很好,可以彌補小弟有缺漏的地方。
在 R 語言中使用「<-」作為賦值符號,與大部分語言採用「=」不同。
x <- 3
install.packages(套件名稱)
require(套件名稱)
可以使用 class() 函式,去查看現在的物件是什麼類型的。
R 語言的數值屬性有三種類型:numeric(實數)、integer(整數)、及complex(複數)。
>>> class(1)
[1] "numeric"
>>> class(as.integer(3))
[1] "integer"
>>> class(3.14)
[1] "numeric"
>>> class(1+3i)
[1] "complex"
有一點要注意的是,在一般情況下, R 語言還是把整數視為 numeric(實數),除非使用 as.integer() 函式強制轉型。
TRUE/FALSE(全大寫) 在 R 語言被稱為 logical 型別,其他語言稱為是 Bool(布林)。
>>> class(TRUE)
[1] "logical"
字串是在程式語言中是一種典型的型別,用來表示文字,使用 "" 符號。
>>> x <- 'hello world'
>>> class(x)
[1] "character"
向量(vector) => 一維且有序的同屬性元素
> c(1, 2, 3)
[1] 1 2 3
陣列(array) => 多維度的向量
> array(c(1,2,3),c(1,3))
[,1] [,2] [,3]
[1,] 1 2 3
矩陣(matrix) => nxn 的陣列稱為矩陣
> matrix(c(1,2,3,4), nrow = 2, ncol = 2)
[,1] [,2]
[1,] 1 3
[2,] 2 4
列表(list) => 一為且有序的多屬性元素
list(a = 1, b = TRUE, c = "test", d = c(1, 2, 3))
$a
[1] 1
$b
[1] TRUE
$c
[1] "test"
$d
[1] 1 2 3
框架(frame) => 可以用來存放像是資料庫的表格格式
> data.frame(c(1,2,3), c(2,3,4), c(3,4,5))
c.1..2..3. c.2..3..4. c.3..4..5.
1 1 2 3
2 2 3 4
3 3 4 5
判斷是用來判別某個條件是否成立,讓成立的與不成立分別設計要做哪怎樣的後續動作。
if (條件式) {
當條件成立時,會進行哪些動作。
} else {
當條件不成立時,會進行哪些動作。
}
根據選擇條件執行不同的結果。
switch(N, 程式片段 1, ..., 程式片段 N)
# 這樣代表會執行第 N 個程式
switch("AAA", "AAA" = 程式片段, "BBB" = 程式片段, "CCC" = 程式片段)
# 這樣代表會執行名稱為 "AAA" 的程式
while迴圈是用在當某個條件成立時,會繼續執行,直到不成立時離開。
while(條件式) {
當條件成立時,會進行哪些動作。
}
for 迴圈會根據設定的條件去迭代,直到條件為空。這邊的例子是這樣: for 會去找 c(1:10) 內的東西,每次都把它印出來,直到沒有東西。
for (x in c(1:10)){
print(x)
}
R 定義函式用 function 開頭,括號內放參數,用來定義某一個行為或動作。以下的例子我們定義一個相加的函式。使用的時候,就直接呼叫函式名稱,然後把參數填進去。
add <- function(a, b){
return a + b
}
add(3, 4)
這個例子就會印出 7。