R语言之矩阵操作

       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
</pre><pre code_snippet_id="1943999" snippet_file_name="blog_20161023_4_6616005" name="code" class="plain">#求矩阵的各列平均值
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

    至于其他函数,大家可以自己去试试练习一下。如果有什么错误,还请大家留言批评指出。


转载请注明原文链接:http://blog.csdn.net/wzgl__wh/article/details/52896673

注:本博客也会发布在个人微信公众平台《跟着菜鸟一起学R语言》,回复 R语言的矩阵运算 即可获取干货

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值