R语言 矩阵的基础运算

创建矩阵

先创建一个2*5的矩阵a

> x<-c(1:10)
> a<-matrix(x,ncol=2,nrow=5,byrow=T)
> a
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
[4,]    7    8
[5,]    9   10

再创建一个矩阵b

> x<-c(1:10)
> b<-matrix(x,ncol=2,nrow=5)
> b
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

矩阵合并

使用rbind()函数,将意图添加的元素添加到a的下一行

> M <-rbind(a,c(8,9))
> M
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
[4,]    7    8
[5,]    9   10
[6,]    8    9

使用cbind()函数,将意图添加的元素添加到a的下一列

> M <-cbind(a,c(1:5))
> M
     [,1] [,2] [,3]
[1,]    1    2    1
[2,]    3    4    2
[3,]    5    6    3
[4,]    7    8    4
[5,]    9   10    5

矩阵删除

a[-x,]删除矩阵a中的第x行
a[,-x]删除矩阵a中的第x列

矩阵进阶计算

按列求和
使用colSums()函数对矩阵的列进行求和

> colSums_a=colSums(a)
> colSums_a
[1] 25 30

按列求平均
使用colMeans()函数对矩阵的行进行求平均

> colMeans_a=colMeans(a)
> colMeans_a
[1] 5 6

按行求平均
使用rowMeans()函数对矩阵的行进行求平均

> rowMeans_a=rowMeans(a)
> rowMeans_a
[1] 1.5 3.5 5.5 7.5 9.5

矩阵转置
t(a)

> t(a)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    3    5    7    9
[2,]    2    4    6    8   10

矩阵相乘
一定要保证两个矩阵的列数和行数相对

> t(a)%*%b
     [,1] [,2]
[1,]   95  220
[2,]  110  260
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值