R语言中dim函数_R 语言中的矩阵计算

这方面有需求

很棒的内容,转载不了我就直接扣过来了~~对这方面有需求的读者不妨收藏一下。
d0bc7c3f4cbef1579e6b502a63f03c9f.png
作者: 张丹(Conan) 来源:http://blog.fens.me/r-matrix/

前言


R 是作为统计语言,生来就对数学有良好的支持。矩阵计算作为底层的数学工具,有非常广泛的使用场景。用R语言很好地封装了,矩阵的各种计算方法,一个函数一行代码,就能完成复杂的矩阵分解等操作。让建模人员可以更专注于模型推理和业务逻辑实现,把复杂的矩阵计算交给R语言来完成。
本文总结了 R 语言用于矩阵的各种计算操作。

1. 基本操作

# 生成矩阵 


取对角线元素,生成对角矩阵:

# 对角线元素


上三角,下三角:

# 上三角


矩阵转置:

20,


对角矩阵填充:

# 创建方阵


填充后,发现矩阵并不是对称的,原因是上三角取值按列取值,所以先取 10 后取 13,导致上三角和下三角取值顺序不完全一致。

16,


调整后,我们要先转置,再取值再填充,形成对称结构。

20,


矩阵和 data.frame 转换,用行列形成索引结构。

12,

2. 矩阵计算

加法,减法。

# 加载矩阵计算工具包


矩阵值相乘。

> m0*m1
     [,1] [,2] [,3] [,4] [,5]
[1,]   40  395  873  741 1326
[2,]  186  192  480  112 1710
[3,]  189   42  616  180  171
[4,]  112  248  864  432  520


矩阵乘法,满足第二个矩阵的列数和第一个矩阵的行数相等,所以把上面生成的 m0 矩阵( 4 行 5 列)转置为( 5 行 4 列),再用 m1 矩阵( 4 行 5 列),进行矩阵乘法,得到一个 5 行 5 列的结果矩阵。

> t(m0)%*%m1
     [,1] [,2] [,3] [,4] [,5]
[1,]  527  285  649  217  399
[2,] 1423  877 1741  633 1231
[3,] 2319 1469 2833 1049 2063
[4,] 3215 2061 3925 1465 2895
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值