前言:今天來學習資料結構的第二篇,矩陣與陣列雖然維度不同,但因為他們是由相同的資料型態所組成,因此放在同一篇講!如果內容有哪些錯誤的地方,請多多包涵~
正文開始-->
【矩陣MATRIX】
在R語言中,矩陣是由包含相同的元素所組成二維物件,由列及欄所組成,可以使用函式dim()
函式來可回傳具有維度數屬性的資料物件之維度大小。
創建矩陣可以使用矩陣函式matrix()
。matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
其中各個引數分別為
nrow
=:設定列的數量,需為正整數。ncol
=:設定欄(行)的數量,需為正整數。byrow = FALSE
:在R中的自動設定,,矩陣資料以欄 (行)位優先填滿。 byrow = TRUE則可改變設定。dimnames = obj.list
輸入列表設定列位名與欄位名。設置矩陣
#matrix
region1 <- factor(c("新北市","台北市","桃園市","台中市","高雄市","台南市"))
matrix_region1 <- matrix(region, nrow = 3, ncol = 2)##建立3*2的矩陣,填入region1的值
matrix_region1##形成陣列
使用範例:
矩陣命名
dimnames()
函式:可以命名矩陣,內容包含欄位名與列位名,也可以檢視matrix之列位名與欄位名。rownames()
與colnames()
:讀取或命名矩陣的列位名欄位名。region3 <- factor(c("新北市","台北市","桃園市","汐止區","信義區","龜山區"))
matrix_region3 <- matrix(region, nrow = 3, ncol = 2)
matrix_region3
dimnames(matrix_region3) <- list(c("A1", "A2","A3"),##命名列
c("縣市", "地區"))##命名行
matrix_region3
使用範例:
讀取命名矩陣的行與列位名
rownames(matrix_region3)
colnames(matrix_region3)
檢索陣列大小
使用dim()
函式
【陣列ARRAY】
在R語言中,陣列是由包含相同的元素所組成多維物件。3維陣列物件大小會以[ m,n ,k ]
呈現,m為列的數量;n為行的數量;k為維度量數量。
設置及命名陣列
array.1 <- factor(c("小明","小花","小美","小桃","15","15","16","17","F","M","M","M"
,"小華","小新","小麗","小雅","13","14","18","16","F","F","M","M"))
array.1
b.array <- array(array.1, dim = c(4, 3, 2),
dimnames = list(c("A1", "A2", "A3", "A4"),##命名列
c("姓名", "年齡", "性別"),##命名行
c("第一層", "第二層")))##命名維度
b.array
使用範例:
參考: