R语言入门(7)-矩阵运算
发布时间
阅读量:
阅读量
> m+1
C1 C2 C3 C4 C5
R1 2 6 10 14 18
R2 3 7 11 15 19
R3 4 8 12 16 20
R4 5 9 13 17 21
> n<-matrix
> n<-matrix(1:20,5,4)
> n
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
> m+n
Error in m + n : non-conformable arrays
> m[1,]
C1 C2 C3 C4 C5
1 5 9 13 17
> sum(m[1,])
[1] 45
> colSums(m)
C1 C2 C3 C4 C5
10 26 42 58 74
> rowSums(m)
R1 R2 R3 R4
45 50 55 60
> colMeans(m)
C1 C2 C3 C4 C5
2.5 6.5 10.5 14.5 18.5
> rowMeans(m)
R1 R2 R3 R4
9 10 11 12
特别注意:在矩阵乘法中,内积运算与外积运算在行列维度方面存在显著差异。具体而言,在进行内乘法时(即两个同维向量之间的点乘),只有当两个矩阵A和B均为m×n形式时才能完成计算;而进行外乘法(即由m×n型矩阵A左乘n×p型矩B得到m×p型矩)时,则只需满足第一个矩A的第一维数目与第二个矩B的第一维数目一致即可完成计算。
> n<- matrix(1:12,3,4)
> m<- matrix(2:13,3,4)
> m+n
[,1] [,2] [,3] [,4]
[1,] 3 9 15 21
[2,] 5 11 17 23
[3,] 7 13 19 25
> m*n
[,1] [,2] [,3] [,4]
[1,] 2 20 56 110
[2,] 6 30 72 132
[3,] 12 42 90 156
> m %*% n
Error in m %*% n : non-conformable arguments
> n<- matrix(1:12,4,3)
> m*n
Error in m * n : non-conformable arrays
> m %*% n
[,1] [,2] [,3]
[1,] 80 184 288
[2,] 90 210 330
[3,] 100 236 372
对角线数值输出、矩阵转置
> diag(n)
[1] 1 6 11
> t(n)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
全部评论 (0)
还没有任何评论哟~
