如何在 R 中向特定矩阵元素添加值?

r programmingserver side programmingprogramming更新于 2025/4/7 9:37:17

要在 R 中向特定矩阵元素添加值,我们可以使用单个方括号对特定值进行子集化。

例如,如果我们有一个名为 M 的矩阵,并且我们想将 10 添加到第二列的第五个值,那么可以使用下面提到的命令 −

M[5,2]<-M[5,2]+10

示例 1

以下代码片段创建一个示例矩阵 −

M1<-matrix(sample(1:100,80),ncol=4)
M1

以下矩阵被创建 −

    [,1] [,2] [,3] [,4]
 [1,] 29  72   16   75
 [2,] 5   79   15    4
 [3,] 81   8   46   83
 [4,] 97  50   18   32
 [5,] 62  96   64   82
 [6,] 27  92    9   22
 [7,] 69  37   70   28
 [8,] 20  58   14   66
 [9,] 13  45   19   52
[10,] 11  42   34   80
[11,] 61  99   86   55
[12,] 63   3   78   36
[13,] 53  33    1   40
[14,] 24  77   76    2
[15,] 54  47   48   71
[16,] 87  68   88   38
[17,] 67  12   44   26
[18,] 17   7   91   10
[19,] 49  90   30   59
[20,] 74  51   31   89

要将 1000 添加到上面创建的数据框中的矩阵 M1 中的第一个值,请将以下代码添加到上面的代码片段中 −

M1<-matrix(sample(1:100,80),ncol=4)
M1[1,1]<-M1[1,1]+1000
M1

输出

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

      [,1] [,2] [,3]  [,4]
 [1,] 1029  72   16     75
 [2,]    5  79   15      4
 [3,]   81   8   46     83
 [4,]   97  50   18     32
 [5,]   62  96   64     82
 [6,]   27  92    9     22
 [7,]   69  37   70     28
 [8,]   20  58   14     66
 [9,]   13  45   19     52
[10,]   11  42   34     80
[11,]   61  99   86     55
[12,]   63   3   78     36
[13,]   53  33    1     40
[14,]   24  77   76      2
[15,]   54  47   48     71
[16,]   87  68   88     38
[17,]   67  12   44     26
[18,]   17   7   91     10
[19,]   49  90   30     59
[20,]   74  51   31     89

示例 2

以下代码片段创建了一个示例矩阵 −

M2<-matrix(rnorm(40),ncol=2)
M2

The following matrix is created −

            [,1]      [,2]
[1,]   0.7053897 -1.9200364
[2,]  -1.1234320  1.6390770
[3,]  -0.1418606  2.2555713
[4,]   0.9207447 -1.5381620
[5,]  -0.2770107  0.1623484
[6,]  -0.8251034 -1.3255143
[7,]  -0.4287154 -2.3155433
[8,]  -0.9181893  0.7627583
[9,]  -0.0384247 -0.6836569
[10,]  0.5226378 -0.8815467
[11,] -0.8472512 -0.4861481
[12,]  1.0694954  1.5913287
[13,]  0.6082448 -0.6050546
[14,] -0.3389231 -0.1138805
[15,] -1.6208191 -1.2074059
[16,]  0.5841005 -0.1632070
[17,]  1.4022579 -2.8237466
[18,] -1.3758415 -0.3331492
[19,] -1.0062265  0.2886416
[20,]  2.1965559  0.8964789

要将 5 添加到上面创建的数据框中矩阵 M2 的第二列中的第一个值,请将以下代码添加到上面的代码片段中 −

M2<-matrix(rnorm(40),ncol=2)
M2[1,2]<-M2[1,2]+5
M2

输出

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

            [,1]     [,2]
[1,]   0.7053897  3.0799636
[2,]  -1.1234320  1.6390770
[3,]  -0.1418606  2.2555713
[4,]   0.9207447 -1.5381620
[5,]  -0.2770107  0.1623484
[6,]  -0.8251034 -1.3255143
[7,]  -0.4287154 -2.3155433
[8,]  -0.9181893  0.7627583
[9,]  -0.0384247 -0.6836569
[10,]  0.5226378 -0.8815467
[11,] -0.8472512 -0.4861481
[12,]  1.0694954  1.5913287
[13,]  0.6082448 -0.6050546
[14,] -0.3389231 -0.1138805
[15,] -1.6208191 -1.2074059
[16,]  0.5841005 -0.1632070
[17,]  1.4022579 -2.8237466
[18,] -1.3758415 -0.3331492
[19,] -1.0062265  0.2886416
[20,]  2.1965559  0.8964789

相关文章