一. 创建矩阵
1. 矩阵可由多个向量合并。R向量默认为列向量。
cbind(向量1,向量2,...)
a1<-c(1,0,2)
a2<-c(0,-1,1)
a3<-c(-4,3,0)
cbind(a1,a2,a3)
运行结果:
a1 a2 a3
[1,] 1 0 -4
[2,] 0 -1 3
[3,] 2 1 0
diag(n) #创建行列数为n的单位阵
diag(a) #创建正对角元素取向量a元素的矩阵
运行结果
> diag(4)
[,1] [,2] [,3] [,4]
[1,] 1 0 0 0
[2,] 0 1 0 0
[3,] 0 0 1 0
[4,] 0 0 0 1
> diag(c(1,2,3))
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 2 0
[3,] 0 0 3
2. 将向量转化为矩阵
a<-c(1,0,2,0,-1,1,-4,3,0) #创建包含指定元素的向量
rn<-c("r1","r2","r3") #行名称向量
cn<-c("a1","a2","a3") #列名称向量
B<-matrix(a,nrow=3,ncol=3,byrow=FALSE,dimnames=list(rn,cn)) #向量a转化为矩阵
运行结果:
a1 a2 a3
r1 1 0 -4
r2 0 -1 3
r3 2 1 0
3.常用的矩阵运算
函数名 | 函数功能 | 函数示例 |
t(x) | 对矩阵x转置 | > t(B)
|
solve(x) | 求矩阵x的逆 | > solve(B)
|
det(x) | 求矩阵x的行列式的值 | > det(B) |
eigen(x) | 求矩阵x的特征值和特征向量 |
|
x%*%x | 求矩阵x与矩阵X乘积 | > B%*%B
|