c++数据结构_【小白福利】从零开始学习R语言(三)——数据结构之“矩阵(Matrix)”...

89986e50d15fd7fcd582dbb1577657fd.png

【小白福利】从零开始学习R语言(一)——数据结构之“向量(Vector):

Nick WU:【小白福利】从零开始学习R语言(一)——数据结构之“向量”​zhuanlan.zhihu.com
114ad5a86009a9d9172539168d4e929d.png

【小白福利】从零开始学习R语言(二)——数据结构之“因素(Factor)”:

Nick WU:【小白福利】从零开始学习R语言(二)——数据结构之“因素(Factor)”​zhuanlan.zhihu.com
b272a48a64c7c8a481e6982d0fbaaf1c.png

【小白福利】从零开始学习R语言(三)——数据结构之“矩阵(Matrix)”:

Nick WU:【小白福利】从零开始学习R语言(三)——数据结构之“矩阵(Matrix)”​zhuanlan.zhihu.com
b272a48a64c7c8a481e6982d0fbaaf1c.png

【小白福利】从零开始学习R语言(四)——数据结构之“数组(Array)”:

Nick WU:【小白福利】从零开始学习R语言(四)——数据结构之“数组(Array)”​zhuanlan.zhihu.com
b272a48a64c7c8a481e6982d0fbaaf1c.png

【小白福利】从零开始学习R语言(五)——数据结构之“列表(List)”:

Nick WU:【小白福利】从零开始学习R语言(五)——数据结构之“列表(List)”​zhuanlan.zhihu.com
b272a48a64c7c8a481e6982d0fbaaf1c.png

【小白福利】从零开始学习R语言(六)——数据结构之“数据框(Data Frames)”:

Nick WU:【小白福利】从零开始学习R语言(六)——数据结构之“数据框(Data Frames)”​zhuanlan.zhihu.com
b272a48a64c7c8a481e6982d0fbaaf1c.png

【小白福利】从零开始学习R语言(七)——函数:

Nick WU:【小白福利】从零开始学习R语言(七)——函数​zhuanlan.zhihu.com
1ee3660ae64c3cdaa9139fbb981115c6.png

【小白福利】从零开始学习R语言(八)——R语言绘图:

Nick WU:【小白福利】从零开始学习R语言(八)——R语言绘图​zhuanlan.zhihu.com
1ee3660ae64c3cdaa9139fbb981115c6.png

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()类似,但是纵向连接(按照行方式)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值