从零开始学习R语言(三)——数据结构之“矩阵(Matrix)”
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60140022
也同步更新于我的个人博客:https://www.nickwu.cn/blog/id=129
3. [二维]:矩阵(Matrix)
3.1 创建一个矩阵
m <- c(45,23,66,77,33,44,56,12,78,23)
dim(m) <- c(2,5) #创建一个2行5列的矩阵,按照从上至下,从左往右的顺序排列
#输出: [,1] [,2] [,3] [,4] [,5]
[1,] 45 66 33 56 78
[2,] 23 77 44 12 23
#可以采用m[1,2]或m[1,]等形式对其进行索引
m <- matrix(c(45,23,66,77,33,44,56,12,78,23),2,5) #形同上一种
m <- matrix(c(45,23,66,77,33,44,56,12,78,23),2,5,byrow=TRUE) #形同上一种,其中byrow默认等于TRUE,可省略。若改为FALSE则按列排列。 m <- matrix(c(45,23,66,77,33,44,56,12,78,23),2,5,byrow=FALSE)
#输出: [,1] [,2] [,3] [,4] [,5]
[1,] 45 66 33 56 78
[2,] 23 77 44 12 23
3.2 矩阵的索引
results <- matrix(c(10,30,40,50,43,56,21,30),2,4,byrow=TRUE)
colnames(results) <- c('1qrt','2qrt','3qrt','4qrt') #可以利用colnames()对矩阵的列命名
rownames(results) <- c('store1','store2') #可以利用rownames()对矩阵的行命名
results['store1',] #可以用行名或列名对矩阵进行索引
results['store2',c('1qrt','4qrt')]
3.3 矩阵的转置
t( )函数即可将矩阵转置
3.4 数字与矩阵相乘
数字与一个矩阵相乘,则与矩阵中每一个元素相乘
m <- matrix(c(1,4,2,5,3,6),2,3)
m*3
#输出:
[,1] [,2] [,3]
[1,] 3 6 9
[2,] 12 15 18
3.5 矩阵的加法
同数学规则一致,矩阵的加法即对应位置元素相加
3.6 矩阵的乘法
矩阵的乘法用 m1%*%m2 (注意:一定要满足数学上矩阵相乘规则)
m1 <- matrix(c(1,1,1,1,1,1,1,1,1),3,3)
m2 <- matrix(c(1,0,0,0,1,0),3,2)
m1 %*% m2
#输出:
[,1] [,2]
[1,] 1 2
[2,] 1 2
[3,] 1 2
#注意,m2 %*% m1 无意义,因为不符合矩阵相乘的规则,若要使之成立,需要将矩阵转置
3.7 利用cbind()或rbind()把向量和一个矩阵合并
m1 <- matrix(c(45,23,66,77,33,44,56,12,78,23),2,5)
m1
cbind(c(4,76),m1[,4])
#输出: [,1] [,2]
[1,] 4 56
[2,] 76 12
#提示,cbind()是把向量和矩阵横向连接(按照列方式)
m2 <- matrix(rep(10,20),4,5)
m2
m3 <- rbind(m1[1,],m2[3,])
#输出: [,1] [,2] [,3] [,4] [,5]
[1,] 45 66 33 56 78
[2,] 10 10 10 10 10
#提示:rbind()类似,但是纵向连接(按照行方式)
从零开始学习R语言(三)——数据结构之“矩阵(Matrix)”的更多相关文章
- 从零开始学习R语言(一)——数据结构之“向量”(Vector)
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/59688569 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125370 ...
- 从零开始学习R语言(五)——数据结构之“列表(List)”
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60141740 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125678 ...
- 从零开始学习R语言(四)——数据结构之“数组(Array)”
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60141207 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125677 ...
- 从零开始学习R语言(二)——数据结构之“因素(Factor)”
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/60101041 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125370 ...
- 从零开始学习R语言(八)——R语言绘图
本文首发于知乎专栏:https://zhuanlan.zhihu.com/p/74051739 也同步更新于我的个人博客:https://www.cnblogs.com/nickwu/p/125683 ...
- 从零开始系列-R语言基础学习笔记之二 数据结构(二)
在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...
- 从零开始系列--R语言基础学习笔记之一 环境搭建
R是免费开源的软件,具有强大的数据处理和绘图等功能.下面是R开发环境的搭建过程. 一.点击网址 https://www.r-project.org/ ,进入"The R Project fo ...
- R语言编程艺术#02#矩阵(matrix)和数组(array)
矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...
- 手把手教你学习R语言
本文为带大家了解R语言以及分段式的步骤教程! 人们学习R语言时普遍存在缺乏系统学习方法的问题.学习者不知道从哪开始,如何进行,选择什么学习资源.虽然网络上有许多不错的免费学习资源,然而它们多过了头,反 ...
随机推荐
- 最新中文版虚拟机VMware Workstation隆重上市
vmware虚拟机 在虚拟机软件中VMware Workstation算是一款非常强大较稳定的软件了,今天 VMware Workstation 10.0正式发布了,最让人欣喜的是该版本终于有了简体中 ...
- Cobalt Strike学习笔记
Cobalt Strike 一款以metasploit为基础的GUI的框架式渗透测试工具,集成了端口转发.服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java ...
- RocketMQ borker配置文件
master节点:serverSelectorThreads = 3 brokerRole = SYNC_MASTER serverSocketRcvBufSize = 131072 osPageCa ...
- CS229 Lesson 5 生成学习算法
课程视频地址:http://open.163.com/special/opencourse/machinelearning.html 课程主页:http://cs229.stanford.edu/ 更 ...
- 人心和隐私怎么防?“防出轨”APP让道德滑落
王尔德曾说过,"一个人应该永远保持一点神秘感".让·保·里克特也表示,:"一个人泄露了秘密,哪怕一丝一毫,就再也得不到安宁了".可见,对于自然人来说,保有自 ...
- 基于layPage分页插件浅析两种分页方式
最近在开发过程中经常用到分页,今天挤出些时间来捋一捋自己的经验 在web开发中,一般显示数据列表页时,我们会用到分页控件来显示数据.采用分页一般基于两种不同的需求,一种是数据量不算很大,但是在页面展示 ...
- Tomcat生产环境应用
概要: Tomcat各核心组件认知 Tomcat server.xml 配置详解 Tomcat IO模型介绍 一.Tomcat各组件认知 Tomcat架构说明 Tomcat组件及关系详情介绍 Tomc ...
- ef01
1.ef简介 学习地址: https://www.entityframeworktutorial.net/ orm:Object relations mapping 对象关系映射 实体类中的属性与数据 ...
- 丰富图文详解B-树原理,从此面试再也不慌
本文始发于个人公众号:TechFlow,原创不易,求个关注 本篇原计划在上周五发布,由于太过硬核所以才拖到了这周五.我相信大家应该能从标题当中体会到这个硬核. 周五的专题是大数据和分布式,我最初的打算 ...
- 小白学 Python 数据分析(13):Pandas (十二)数据表拼接
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...