矩陣是一個二維數組,只是每個元素都擁有相同的模式(數值型、字符型或邏輯型)。可通過函數matrix( )創建矩陣。一般使用格式為:
Mymatrix <- matrix(vector,nrow=number_of_rows,ncol=number_of_columns,
byrow=logical_value, dimnames=list(
char_vector_rowname,char_vector_colnames))
其中vector包含了矩陣的元素,nrow和ncol用以指定行和列的維數,dimnames包含了可選的、 以字符型向量表示的行名和列名。選項byrow則表明矩陣應當按行填充(byrow=TRUE)還是按列填充(byrow=FALSE),默認情況下按列填充。簡單示例如下:
> y <- matrix(1:20,nrow=5,ncol=4) #創建一個$5\times 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
> cells <- c(1,26,24,68)
> rnames <- c('R1','R2')
> cnames <- c('C1','C1')
> mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames ,cnames ))
> mymatrix )#按行填充的$2\times 2$ 的矩陣
C1 C1
R1 1 26
R2 24 68
> mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames ,cnames ))
> mymatrix #按列填充的$2\times 2$ 的矩陣
C1 C1
R1 1 24
R2 26 68
我們可以使用下標和方括號來選擇矩陣中的行、列或元素。$\text{X }\!\![\!\!\text{ i, }\!\!]\!\!\text{ }$指矩陣X中的第$i$行,$\text{X }\!\![\!\!\text{ ,j }\!\!]\!\!\text{ }$ 指第$j$列,$\text{X }\!\![\!\!\text{ i,j }\!\!]\!\!\text{ }$ 指第$i$行第$j$個元素。選擇多行或多列時,下標$i$和$j$可為數值型向量,如:
> y[2,] #第二行的元素
[1] 2 7 12 17
> y[,2] #第二列的元素
[1] 6 7 8 9 10
> y[1,4] #第一行第四列的元素
[1] 16
> y[1,c(3,4)] #第一行第四、第五列的元素
[1] 11 16
Mymatrix <- matrix(vector,nrow=number_of_rows,ncol=number_of_columns,
byrow=logical_value, dimnames=list(
char_vector_rowname,char_vector_colnames))
其中vector包含了矩陣的元素,nrow和ncol用以指定行和列的維數,dimnames包含了可選的、 以字符型向量表示的行名和列名。選項byrow則表明矩陣應當按行填充(byrow=TRUE)還是按列填充(byrow=FALSE),默認情況下按列填充。簡單示例如下:
> y <- matrix(1:20,nrow=5,ncol=4) #創建一個$5\times 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
> cells <- c(1,26,24,68)
> rnames <- c('R1','R2')
> cnames <- c('C1','C1')
> mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames ,cnames ))
> mymatrix )#按行填充的$2\times 2$ 的矩陣
C1 C1
R1 1 26
R2 24 68
> mymatrix <- matrix(cells,nrow=2,ncol=2,byrow=FALSE,dimnames=list(rnames ,cnames ))
> mymatrix #按列填充的$2\times 2$ 的矩陣
C1 C1
R1 1 24
R2 26 68
我們可以使用下標和方括號來選擇矩陣中的行、列或元素。$\text{X }\!\![\!\!\text{ i, }\!\!]\!\!\text{ }$指矩陣X中的第$i$行,$\text{X }\!\![\!\!\text{ ,j }\!\!]\!\!\text{ }$ 指第$j$列,$\text{X }\!\![\!\!\text{ i,j }\!\!]\!\!\text{ }$ 指第$i$行第$j$個元素。選擇多行或多列時,下標$i$和$j$可為數值型向量,如:
> y[2,] #第二行的元素
[1] 2 7 12 17
> y[,2] #第二列的元素
[1] 6 7 8 9 10
> y[1,4] #第一行第四列的元素
[1] 16
> y[1,c(3,4)] #第一行第四、第五列的元素
[1] 11 16