如何在R語言中使用行名建立矩陣的子集?
在R語言中建立矩陣時,行名和列名未定義,但我們可以分別定義它們。如果我們想獲取矩陣的行子集,可以使用單方括號中的行號;但如果我們想用名稱來獲取子集,則需要指定這些名稱。
示例
M1<-matrix(1:25,ncol=5) rownames(M1)<-letters[1:5] M1
輸出
[,1] [,2] [,3] [,4] [,5] a 1 6 11 16 21 b 2 7 12 17 22 c 3 8 13 18 23 d 4 9 14 19 25
示例
M1[c("a","b"),]
輸出
[,1] [,2] [,3] [,4] [,5] a 1 6 11 16 21 b 2 7 12 17 22
示例
M1[c("a","d"),]
輸出
[,1] [,2] [,3] [,4] [,5] a 1 6 11 16 21 d 4 9 14 19 24
示例
M1[c("a","e"),]
輸出
[,1] [,2] [,3] [,4] [,5] a 1 6 11 16 21 e 5 10 15 20 25
示例
M1[c("a","b","e"),]
輸出
[,1] [,2] [,3] [,4] [,5] a 1 6 11 16 21 b 2 7 12 17 22 e 5 10 15 20 25
示例
M1[c("a","b","d","e"),]
輸出
[,1] [,2] [,3] [,4] [,5] a 1 6 11 16 21 b 2 7 12 17 22 d 4 9 14 19 24 e 5 10 15 20 25
示例
M2<-matrix(1:100,nrow=10) rownames(M2)<-LETTERS[1:10] M2
輸出
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] A 1 11 21 31 41 51 61 71 81 91 B 2 12 22 32 42 52 62 72 82 92 C 3 13 23 33 43 53 63 73 83 93 D 4 14 24 34 44 54 64 74 84 94 E 5 15 25 35 45 55 65 75 85 95 F 6 16 26 36 46 56 66 76 86 96 G 7 17 27 37 47 57 67 77 87 97 H 8 18 28 38 48 58 68 78 88 98 I 9 19 29 39 49 59 69 79 89 99 J 10 20 30 40 50 60 70 80 90 100
示例
M2[c("A","J"),]
輸出
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] A 1 11 21 31 41 51 61 71 81 91 J 10 20 30 40 50 60 70 80 90 100
示例
M2[c("A","D","F","I"),]
輸出
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] A 1 11 21 31 41 51 61 71 81 91 D 4 14 24 34 44 54 64 74 84 94 F 6 16 26 36 46 56 66 76 86 96 I 9 19 29 39 49 59 69 79 89 99
示例
M2[c("A","C","E","G","J"),]
輸出
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] A 1 11 21 31 41 51 61 71 81 91 C 3 13 23 33 43 53 63 73 83 93 E 5 15 25 35 45 55 65 75 85 95 G 7 17 27 37 47 57 67 77 87 97 J 10 20 30 40 50 60 70 80 90 100
示例
M3<-matrix(rnorm(25,1,0.04),nrow=5) rownames(M3)<-c("Rate1","Rate2","Rate3","Rate4","Rate5") M3
輸出
[,1] [,2] [,3] [,4] [,5] Rate1 1.0095550 0.9804156 0.9655588 1.025432 0.9420430 Rate2 0.9926681 0.9830571 0.9428085 1.000219 0.9980977 Rate3 1.0039020 1.0121637 1.0291146 1.062020 1.0822971 Rate4 1.0720653 1.0469583 0.9947673 1.065848 1.0165283 Rate5 0.9752784 1.0382877 0.9933063 1.011313 0.9942537
示例
M3["Rate3",]
輸出
[1] 1.003902 1.012164 1.029115 1.062020 1.082297
示例
M3[c("Rate1","Rate5"),]
輸出
[,1] [,2] [,3] [,4] [,5] Rate1 1.0095550 0.9804156 0.9655588 1.025432 0.9420430 Rate5 0.9752784 1.0382877 0.9933063 1.011313 0.9942537
示例
M3[c("Rate1","Rate3","Rate5"),]
輸出
[,1] [,2] [,3] [,4] [,5] Rate1 1.0095550 0.9804156 0.9655588 1.025432 0.9420430 Rate3 1.0039020 1.0121637 1.0291146 1.062020 1.0822971 Rate5 0.9752784 1.0382877 0.9933063 1.011313 0.9942537
廣告