如何按另一列中的值数重复 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
输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

     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 函数通过列 y 中的值重复data.table对象 DT中的列 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

猜你喜欢