iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 7
0

執行程式

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"
  • 資料格式
  1. 向量(vector) => 一維且有序的同屬性元素

     > c(1, 2, 3)
     [1] 1 2 3
    
  2. 陣列(array) => 多維度的向量

     > array(c(1,2,3),c(1,3))
          [,1] [,2] [,3]
     [1,]    1    2    3
    
  3. 矩陣(matrix) => nxn 的陣列稱為矩陣

     > matrix(c(1,2,3,4), nrow = 2, ncol = 2)
          [,1] [,2]
     [1,]    1    3
     [2,]    2    4
    
  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
    
  5. 框架(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)

判斷是用來判別某個條件是否成立,讓成立的與不成立分別設計要做哪怎樣的後續動作。

if (條件式) {
  當條件成立時,會進行哪些動作。
} else {
  當條件不成立時,會進行哪些動作。
}	
  • 選擇(switch)

根據選擇條件執行不同的結果。

switch(N, 程式片段 1, ..., 程式片段 N)
# 這樣代表會執行第 N 個程式
switch("AAA", "AAA" = 程式片段, "BBB" = 程式片段, "CCC" = 程式片段)
# 這樣代表會執行名稱為 "AAA" 的程式
  • while迴圈

while迴圈是用在當某個條件成立時,會繼續執行,直到不成立時離開。

while(條件式) {
	當條件成立時,會進行哪些動作。
}
  • for 迴圈

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。


上一篇
R 程式語言初探 - 環境篇
下一篇
JavaScript 程式語言與資料科學
系列文
從學生到職場:菜鳥資料科學家的第一個月30

尚未有邦友留言

立即登入留言