R语言: 矩阵
R 语言为线性代数的研究提供了矩阵类型,这种数据结构很类似于其它语言中的二维数组,但 R 提供了语言级的矩阵运算支持。矩阵里的元素可以是数字、符号或数学式。
函数 | 说明 |
---|---|
data | 向量,矩阵的数据 |
nrow | 行数 |
ncol | 列数 |
byrow | 逻辑值,为 FALSE 按列排列,为 TRUE 按行排列 |
dimname | 设置行和列的名称 |
创建矩阵
在R语言中,主要通过matrix函数来完成矩阵的创建。
m <- matrix(1:8,nrow=2)
m <- matrix(1:8,nrow=2,byrow=T)
> #默认按列创建矩阵
> m <- matrix(1:8,nrow=2)
> m
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
> #按行创建矩阵
> m <- matrix(1:8,nrow=2,byrow=T)
> m
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
倒置矩阵
R 语言矩阵提供了 t() 函数,可以实现矩阵的行列互换。
例如有个 m 行 n 列的矩阵,使用 t() 函数就能转换为 n 行 m 列的矩阵。
t( )
> m <- matrix(1:8,nrow=2)
> m
[,1] [,2] [,3] [,4]
[1,] 1 3 5 7
[2,] 2 4 6 8
> t(m)
[,1] [,2]
[1,] 1 2
[2,] 3 4
[3,] 5 6
[4,] 7 8
矩阵运算
大小相同(行数列数都相同)的矩阵之间可以相互加减,具体是对每个位置上的元素做加减法。
> m1 <-matrix(1:4,nrow=2)
> m2 <-matrix(2:5,nrow=2)
> m1;m2
[,1] [