如何在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

更新于:2020年10月18日

564 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.