如何在 R 中根据其索引位置扩展矩阵行?


要在 R 中根据其索引位置扩展矩阵行,我们可以按照以下步骤操作 -

  • 首先,创建一个矩阵。
  • 然后,使用 rep 和 seq_len 函数以及 nrow,根据其索引位置扩展矩阵行。

创建矩阵

让我们创建一个如下所示的矩阵 -

 在线演示

M<-matrix(rnorm(18),nrow=6)
M

在执行时,上述脚本会生成以下输出(此输出会因系统中的随机化而有所不同) -

        [,1]       [,2]       [,3]
[1,] 1.1504336 -2.7945635 -1.1192209
[2,] 1.8228588 0.5034033 -0.9991265
[3,] 0.7930331 -0.1489556 -0.3942745
[4,] 0.3773271 1.4935511 0.4641247
[5,] 1.2586923 -0.2941518 -0.7457999
[6,] 0.6746511 1.7114469 1.1954979

扩展矩阵

使用 rep 和 seq_len 函数以及 nrow,根据其索引位置扩展 M 中的行 -

 在线演示

M<-matrix(rnorm(18),nrow=6)
M<-M[rep(seq_len(nrow(M)),1:6),]
M

输出

         [,1]      [,2]      [,3]
[1,] 1.1504336 -2.7945635 -1.1192209
[2,] 1.8228588 0.5034033 -0.9991265
[3,] 1.8228588 0.5034033 -0.9991265
[4,] 0.7930331 -0.1489556 -0.3942745
[5,] 0.7930331 -0.1489556 -0.3942745
[6,] 0.7930331 -0.1489556 -0.3942745
[7,] 0.3773271 1.4935511 0.4641247
[8,] 0.3773271 1.4935511 0.4641247
[9,] 0.3773271 1.4935511 0.4641247
[10,] 0.3773271 1.4935511 0.4641247
[11,] 1.2586923 -0.2941518 -0.7457999
[12,] 1.2586923 -0.2941518 -0.7457999
[13,] 1.2586923 -0.2941518 -0.7457999
[14,] 1.2586923 -0.2941518 -0.7457999
[15,] 1.2586923 -0.2941518 -0.7457999
[16,] 0.6746511 1.7114469 1.1954979
[17,] 0.6746511 1.7114469 1.1954979
[18,] 0.6746511 1.7114469 1.1954979
[19,] 0.6746511 1.7114469 1.1954979
[20,] 0.6746511 1.7114469 1.1954979
[21,] 0.6746511 1.7114469 1.1954979

更新于: 2021 年 8 月 13 日

326 次浏览

开启您的 职业生涯

通过完成本课程获得认证

开始
广告