iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
自我挑戰組

R語言初學紀錄系列 第 10

DAY10-R語言 資料結構part.2 矩陣、陣列

  • 分享至 

  • xImage
  •  

前言:今天來學習資料結構的第二篇,矩陣與陣列雖然維度不同,但因為他們是由相同的資料型態所組成,因此放在同一篇講!如果內容有哪些錯誤的地方,請多多包涵~


正文開始-->
【矩陣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##形成陣列

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240920/20169228yWbJSOeJOa.png

矩陣命名

  • 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

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240920/20169228wMIAfA9rSM.png
https://ithelp.ithome.com.tw/upload/images/20240920/20169228GEB1Pydy9z.png

讀取命名矩陣的行與列位名

rownames(matrix_region3)
colnames(matrix_region3)

https://ithelp.ithome.com.tw/upload/images/20240920/20169228E8uR7JkprS.png

檢索陣列大小
使用dim()函式
https://ithelp.ithome.com.tw/upload/images/20240920/20169228RGT0S5eE5D.png


【陣列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

使用範例:
https://ithelp.ithome.com.tw/upload/images/20240920/201692284dkH2fz0pd.png

參考:

  1. https://r-lover.com/tutorial/r-basic/r-data-structure/
  2. https://bookdown.org/jefflinmd38/r4biost/dataobject.html
  3. https://bookdown.org/jefflinmd38/r4biost/

上一篇
DAY9-R語言 資料結構part.1 向量、因子
下一篇
DAY11-R語言 資料結構part.3 列表、資料框
系列文
R語言初學紀錄22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言