如何使用行名在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

以上是 如何使用行名在R中创建矩阵的子集? 的全部内容, 来源链接: utcz.com/z/338545.html

回到顶部