如何在 R 中根据另一个列的值重复 data.table 对象的列值?


要根据另一列的值重复 data.table 对象的列值,我们可以按照以下步骤操作:

  • 首先,创建一个 data.table 对象。

  • 然后,使用 rep 函数和 cbind 函数来根据另一列的值重复矩阵中的列值。

示例

创建 data.table 对象

让我们创建一个如下所示的 data.table 对象:

library(data.table)
x<-1:10
y<-sample(1:5,10,replace=TRUE)
DT<-data.table(x,y)
DT

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):

     x y
1:   1 2
2:   2 4
3:   3 1
4:   4 5
5:   5 3
6:   6 4
7:   7 2
8:   8 5
9:   9 1
10: 10 1

根据另一列的值重复列值

使用 rep 函数和 cbind 函数来根据 data.table 对象 DT 中列 y 的值重复列 x 的值:

library(data.table)
x<-1:10
y<-sample(1:5,10,replace=TRUE)
DT<-data.table(x,y)
cbind(rep(DT$x,times=DT$y),rep(DT$y,times=DT$y))

输出

     [,1] [,2]
[1,]   1   2
[2,]   1   2
[3,]   2   4
[4,]   2   4
[5,]   2   4
[6,]   2   4
[7,]   3   1
[8,]   4   5
[9,]   4   5
[10,]  4   5
[11,]  4   5
[12,]  4   5
[13,]  5   3
[14,]  5   3
[15,]  5   3
[16,]  6   4
[17,]  6   4
[18,]  6   4
[19,]  6   4
[20,]  7   2
[21,]  7   2
[22,]  8   5
[23,]  8   5
[24,]  8   5
[25,]  8   5
[26,]  8   5
[27,]  9   1
[28,] 10   1

更新于: 2021年11月11日

485 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.