创建矩阵
先创建一个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