如何在 R 中求矩阵秩?
矩阵秩的定义为行或列中线性无关向量的最大数量。如果我们有一个维度为 R x C 的矩阵,其中 R 是行数,C 是列数,如果 R 小于 C,那么矩阵的秩就是 R。要在 R 中求矩阵的秩,我们可以在 Matrix 包中使用 rankMatrix 函数。
加载 Matrix 包 −
library(Matrix)
示例
M1<-matrix(1:9,ncol=3) M1
输出
[,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9
rankMatrix(M1) [1] [1] 2
示例
M2<-matrix(1:36,nrow=6) M2
输出
[,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 7 13 19 25 31 [2,] 2 8 14 20 26 32 [3,] 3 9 15 21 27 33 [4,] 4 10 16 22 28 34 [5,] 5 11 18 24 30 36
rankMatrix(M2) [1] [1] 2
示例
M3<-matrix(sample(0:9,100,replace=TRUE),nrow=20) M3
输出
[,1] [,2] [,3] [,4] [,5] [1,] 9 8 1 4 1 [2,] 5 3 0 6 1 [3,] 2 6 5 5 4 [4,] 5 8 3 7 5 [5,] 3 1 4 0 3 [6,] 1 5 5 3 5 [7,] 0 3 0 3 5 [8,] 1 9 4 0 4 [9,] 1 4 3 7 6 [10,] 1 3 6 1 4 [11,] 6 9 2 5 9 [12,] 7 0 2 8 1 [13,] 5 9 4 1 1 [14,] 9 1 1 6 4 [15,] 1 4 4 0 7 [16,] 6 0 9 2 7 [17,] 9 3 0 2 1 [18,] 9 6 0 7 2 [19,] 5 2 0 8 5 [20,] 8 8 4 0 4
rankMatrix(M3) [1] [1] 5
示例
M4<-matrix(sample(21:50,160,replace=TRUE),nrow=20) M4
输出
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 49 35 25 36 31 22 49 42 [2,] 45 33 21 39 37 26 41 37 [3,] 36 30 46 50 26 32 24 49 [4,] 33 39 31 39 37 50 50 32 [5,] 41 38 39 38 40 25 42 30 [6,] 34 49 26 34 24 34 42 26 [7,] 40 44 30 21 27 47 32 47 [8,] 35 27 21 25 37 28 48 27 [9,] 34 50 41 38 39 27 43 40 [10,] 21 41 50 28 32 38 22 25 [11,] 26 46 34 29 24 38 28 39 [12,] 36 41 36 47 49 48 49 31 [13,] 44 50 37 38 33 26 37 45 [14,] 31 22 47 37 47 41 23 45 [15,] 42 39 38 26 35 21 31 31 [16,] 50 29 40 47 48 34 23 29 [17,] 49 21 30 47 24 21 43 47 [18,] 27 22 25 34 45 28 49 45 [19,] 38 39 32 31 29 23 34 45 [20,] 45 37 31 43 40 27 29 36
rankMatrix(M4) [1] [1] 8
示例
M5<-matrix(sample(rnorm(20),25,replace=TRUE),nrow=5) M5
输出
[,1] [,2] [,3] [,4] [,5] [1,] 0.73475325 -1.2186186 -0.21496111 1.8642877 1.1133489 [2,] -0.09091262 -0.4513579 0.18346741 0.1834674 -0.4513579 [3,] 1.55003168 -0.1454168 0.28244025 0.5674004 1.5706586 [4,] -0.90693971 -1.2186186 -0.09091262 -0.1454168 1.0289755 [5,] -0.45135792 0.5674004 0.28244025 -0.2149611 1.5500317
rankMatrix(M5) [1] [1] 5
示例
M6<-matrix(sample(rexp(5,2),20,replace=TRUE),nrow=10) M6
输出
[,1] [,2] [1,] 0.2969787 3.5003481 [2,] 0.5462926 3.5003481 [3,] 1.0018821 0.5462926 [4,] 3.5003481 0.2969787 [5,] 1.0018821 0.2969787 [6,] 1.0018821 0.2969787 [7,] 1.0018821 0.5462926 [8,] 0.2133455 0.2133455 [9,] 0.5462926 3.5003481 [10,] 0.2969787 0.2133455
rankMatrix(M6) [1] [1] 2
广告