如何在 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.