当我们在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