1. 程式人生 > >R語言入門——矩陣和陣列的操作

R語言入門——矩陣和陣列的操作

矩陣操作:
矩陣是一個二維陣列,只是每個元素都擁有相同的模式(數值型、字元型或邏輯型)。可通
過函式matrix()建立矩陣。一般使用格式為:
myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,
byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))
其中vector包含了矩陣的元素,nrow和ncol用以指定行和列的維數,dimnames包含了可選
的、以字元型向量表示的行名和列名。選項byrow則表明矩陣應當按行填充(byrow=TRUE)
還是按列填充(byrow=FALSE),預設情況下按列填充。

> y <-matrix(1:20,nrow=5,ncol=4)
> y
     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20

可按行排列、按列排列:
這裡寫圖片描述
矩陣下標:
這裡寫圖片描述

陣列
陣列(array)與矩陣類似,但是維度可以大於2。陣列可通過array函式建立,形式如下:
myarray <- array(vector, dimensions, dimnames)
其中vector包含了陣列中的資料,dimensions是一個數值型向量,給出了各個維度下標的最大值,而dimnames是可選的、各維度名稱標籤的列表。

> dim1<- c("A1","A2","A3")
> dim2 <- c("B1","B2","B3")
> dim3<-c("C1","C2","C3","C4")

> z <- array(1:36, c(3, 3, 4), dimnames=list(dim1, dim2, dim3))
> z
, , C1

   B1 B2 B3
A1  1  4  7
A2  2  5  8
A3  3  6  9

, , C2

   B1 B2 B3
A1 10 13 16
A2 11 14 17
A3 12 15 18

, , C3

   B1 B2 B3
A1 19
22 25 A2 20 23 26 A3 21 24 27 , , C4 B1 B2 B3 A1 28 31 34 A2 29 32 35 A3 30 33 36