R语言作为一门统计语言,肯定缺少不了矩阵处理。下面是我参考《R语言与数据挖掘》总结出来以下关于矩阵运算的函数,其中包括矩阵的求和,转置,等。
+, -, * , /矩阵的四则运算,对应位置的元素进行运算要求矩阵的维数必须相同
t()矩阵的行列转置
colSums()分别对矩阵的每一列进行求和
rowSums()分别对矩阵的每一行进行求和
colMeans()分别对矩阵的每一列进行求平均值
rowMeans()分别对矩阵的每一行进行求平均值
det()解方程的行列式
crossprod()解两个矩阵的内积(
outer()解两个矩阵的外积,又叫叉积
%*%矩阵乘法,要求第一个矩阵的列数与行数相同
diag()对矩阵取对角元素,若对象为向量(不管有没有缺失值),则生成以向量为对角元素的对角矩阵
solve()在矩阵可逆的情况下,对矩阵求逆矩阵
eigen()对矩阵求解特征值和特征向量
接下来我们通过一些例子来了解一下这些函数。
#定义两个都是2*2的矩阵
a<-matrix(c(1:4),ncol=2)
b<-matrix(c(5:8),ncol=2)
其中a,b分别为
> a
[,1] [,2]
[1,] 1 3
[2,] 2 4
> b
[,1] [,2]
[1,] 5 7
[2,] 6 8
#求矩阵的各列平均值
colMeans(a)
[1] 1.5 3.5
#求矩阵a的转置矩阵
t(a)
[,1] [,2]
[1,] 1 2
[2,] 3 4
#矩阵的四则运算
3*a-b+b/a
[,1] [,2]
[1,] 3 4.333333
[2,] 3 6.000000
#方阵求解行列式
det(a)
[1] -2
#矩阵内积
crossprod(a,b)
[,1] [,2]
[1,] 17 23
[2,] 39 53
#注意;crossprod(a,b)等价于t(a)%*%b
至于其他函数,大家可以自己去试试练习一下。如果有什么错误,还请大家留言批评指出。
R语言的矩阵运算
【长按可复制链接】
链接:http://pan.baidu.com/s/1kVNiNn5
密码:iji8
关注我的微信公众号吧,一起交流学习