免責聲明:
任何投資行為均有其風險,作為一名投資者,應為自己任何投資決策行為承擔所有風險。
本網站當盡力提供正確之資訊,所載資料均來自或本諸我們相信可靠之來源,但對其完整性、即時性和正確性不做任何擔保,如有錯誤或疏漏,本網站所有人及關係人,並不負任何法律責任。
本文非任何形式之投資建議,不保證所提供之資訊可以創造獲利、減少投資損失,亦不會鼓吹任何具體之投資行動。本網站所有人及關係人,對於本網站資訊使用者直接或間接依賴並參考相關資訊後,採取任何投資行為所導致之直接或間接損失,或因此產生之一切責任,均不負任何損害賠償及其他法律上之責任。
任何投資行為均有其風險,作為一名投資者,應為自己任何投資決策行為承擔所有風險。
本網站當盡力提供正確之資訊,所載資料均來自或本諸我們相信可靠之來源,但對其完整性、即時性和正確性不做任何擔保,如有錯誤或疏漏,本網站所有人及關係人,並不負任何法律責任。
本文非任何形式之投資建議,不保證所提供之資訊可以創造獲利、減少投資損失,亦不會鼓吹任何具體之投資行動。本網站所有人及關係人,對於本網站資訊使用者直接或間接依賴並參考相關資訊後,採取任何投資行為所導致之直接或間接損失,或因此產生之一切責任,均不負任何損害賠償及其他法律上之責任。
前言
本文介紹 R 的資料型態,做為撰寫 R 程式的基礎知識。
R 語言的資料型態和主流程式語言的資料型態相異,這是因為 R 一開始就是設計成數理運算的工具,而非通用型語言。在學習時可注意一下這個差異點。
可以把 R 資料型態想成給數理運算使用的資料結構,就不會和一般程式語言所描述的資料型態搞混。
向量 (Vector)
向量是由單一資料型態元素組成的線性容器。
c(10.4, 5.6, 3.1, 6.4, 21.7)
向量元素的資料型態 (atomic vector type) 可能是布林 (logical)、整數 (integer)、實數 (real)、複數 (complex)、字串 (string)、原始資料 (raw)。
嚴格來說,R 沒有純量 (scalar),向量是該語言最基本的資料結構。舉例來說,12345
在別的程式語言是數字,但在 R 是資料型態為 double
(註) 、長度為 1
的向量:
> typeof(12345)
"double"
> length(12345)
1
(註) 雙精度浮點數
因素 (Factor)
因素也是向量。該資料結構的目的是節省類別變量 (categorical data) 的運算資源。使用 factor
函式建立因素:
factor(c("a", "b", "c"))
矩陣 (Matrix)
矩陣是由單一資料型態元素組成的二維矩形容器。使用 matrix
函式建立矩陣:
matrix(c(1, 2, 3, 4, 5, 6), nrow=2, ncol=3, byrow=TRUE)
資料框 (Data Frame)
資料框也是二維矩形容器,但不同欄 (column) 的資料型態可相異。建立資料框常見的方式是從檔案讀入資料,像是 CSV、試算表等:
read.csv("sheet.csv", header=TRUE, fill=TRUE)
串列 (List)
串列是類似於向量的線性容器,但其組成元素的資料型態可能相異。
陣列 (Array)
R 陣列和主流語言的陣列是不同的意思。前者是用來放多維度資料的容器,算是從矩陣延伸出來的資料結構。
函式 (Function)
函式是可重覆使用的程式碼區塊。R 語言的函式可以當成值來儲存,所以可以在 R 程式中使用一些函數式程式的撰碼模式。
繼續深入
為了節約篇幅,本文僅簡單地介紹 R 語言的資料型態。我們會在後續文章逐一說明各個資料型態的操作方式。