如何在R中矩阵的每一行中添加向量?

要添加向量以到达矩阵的行,我们可以使用加号(+)并创建向量的重复,直到矩阵中的行数为止。例如,如果我们有一个名为M的矩阵,则可以使用命令将向量v添加到M的每一行-

M+rep(v,each=nrow(M))

例1

考虑下面的矩阵和向量-

> M1<-matrix(rpois(40,2),nrow=20)

> M1

输出结果
      [,1] [,2]

 [1,]    3    2

 [2,]    3    3

 [3,]    4    2

 [4,]    5    1

 [5,]    3    1

 [6,]    2    2

 [7,]    1    2

 [8,]    2    1

 [9,]    3    2

[10,]    0    1

[11,]    3    4

[12,]    2    6

[13,]    3    1

[14,]    4    0

[15,]    1    3

[16,]    1    0

[17,]    1    1

[18,]    0    1

[19,]    1    3

[20,]    2    0

将v1添加到M1中的行-

> M1+rep(v1,each=nrow(M1))
输出结果
      [,1] [,2]

 [1,]    4    3

 [2,]    4    4

 [3,]    5    3

 [4,]    6    2

 [5,]    4    2

 [6,]    3    3

 [7,]    2    3

 [8,]    3    2

 [9,]    4    3

[10,]    1    2

[11,]    4    5

[12,]    3    7

[13,]    4    2

[14,]    5    1

[15,]    2    4

[16,]    2    1

[17,]    2    2

[18,]    1    2

[19,]    2    4

[20,]    3    1

例2

> M2<-matrix(rnorm(60),ncol=3)

> M2

输出结果
             [,1]        [,2]        [,3]

 [1,] -1.16459899  0.04276452 -0.38747561

 [2,]  0.50198231  1.40818681  1.34047754

 [3,] -0.83571273  0.15311835 -0.66026732

 [4,] -1.04751005  0.68401101  0.36614494

 [5,] -0.13906013 -0.08104307  1.58938567

 [6,]  0.79923477  0.13871823  1.19483957

 [7,] -0.70957734 -1.22610985  0.79431236

 [8,] -0.61919335 -1.67900016  0.75673298

 [9,]  0.02131366  0.59198453 -0.51860397

[10,] -0.92114971 -0.94043054 -0.66674705

[11,] -0.26933585  0.61537773  1.18988144

[12,]  2.11994998 -0.62014441 -0.97012363

[13,] -0.45798423  0.92096389  0.74603167

[14,] -0.51599135 -0.01450992 -1.84365984

[15,] -0.29866554  0.99900886 -0.55598877

[16,] -0.91226758 -1.63915166 -0.20200339

[17,]  0.40107684  1.79162856 -0.02759807

[18,]  0.44712300 -0.07322323 -0.15221520

[19,]  0.15838286 -1.50611267 -0.07117655

[20,]  0.53166819 -0.99748658 -0.54070065

> v2<-c(100,100,100)

将v2添加到M2中的行-

> M2+rep(v2,each=nrow(M2))
输出结果
           [,1]      [,2]      [,3]

 [1,]  98.83540 100.04276  99.61252

 [2,] 100.50198 101.40819 101.34048

 [3,]  99.16429 100.15312  99.33973

 [4,]  98.95249 100.68401 100.36614

 [5,]  99.86094  99.91896 101.58939

 [6,] 100.79923 100.13872 101.19484

 [7,]  99.29042  98.77389 100.79431

 [8,]  99.38081  98.32100 100.75673

 [9,] 100.02131 100.59198  99.48140

[10,]  99.07885  99.05957  99.33325

[11,]  99.73066 100.61538 101.18988

[12,] 102.11995  99.37986  99.02988

[13,]  99.54202 100.92096 100.74603

[14,]  99.48401  99.98549  98.15634

[15,]  99.70133 100.99901  99.44401

[16,]  99.08773  98.36085  99.79800

[17,] 100.40108 101.79163  99.97240

[18,] 100.44712  99.92678  99.84778

[19,] 100.15838  98.49389  99.92882

[20,] 100.53167  99.00251  99.45930

以上是 如何在R中矩阵的每一行中添加向量? 的全部内容, 来源链接: utcz.com/z/344793.html

回到顶部