矩阵
矩阵是一个按照长方阵列排列的复数或实数集合
向量是一维的,矩阵是二维的,需要行和列
R语言的矩阵是有维数的向量,矩阵元素可以是数值型,字符型或者逻辑型,每个元素必须拥有相同的模式
- 创建矩阵matrix(x,nrow,ncol,byrow)
matrix(x,nrow,ncol,byrow)
x:表示矩阵中的个数
nrow:矩阵的行数
ncol:矩阵的列数
byrow:改变排序顺序;F:按列排列;T:按行排列(默认按列排序)
注意:矩阵中的元素数量必须是行跟列中元素数量的整倍数
x <- 1:20
> x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> matrix(x,4,5) #默认按列排序
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
> matrix(x,4,5,T) #byrow=T,按行排序
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
> matrix(x,3,5) #20跟3不是倍数关系
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15
Warning message:
In matrix(x, 3, 5) :
data length [20] is not a sub-multiple or multiple of the number of rows [3]
> matrix(x,5,3)
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
Warning message:
In matrix(x, 5, 3) :
data length [<