如何在R中隨機化data.table物件的全部列的值?


要隨機化R中data.table物件的全部列的值,我們可以按照以下步驟操作:

  • 首先,建立一個data.table物件。
  • 然後,使用sample函式和lapply來隨機化data.table物件的列。

建立資料框

讓我們建立一個如下所示的資料框:

library(data.table)
x<-rpois(20,5)
y<-rpois(20,10)
z<-rpois(20,8)
DT<-data.table(x,y,z)
DT

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同):

   x y z
1: 6 7 7
2: 7 11 7
3: 7 16 6
4: 7 8 11
5: 7 12 7
6: 8 10 2
7: 7 9 4
8: 4 12 6
9: 5 13 9
10: 7 8 7
11: 8 10 7
12: 2 12 8
13: 3 6 4
14: 7 9 9
15: 2 9 9
16: 6 17 10
17: 6 3 8
18: 7 14 4
19: 6 10 8
20: 7 15 8

隨機化data.table物件中的列值

使用lapply和sample函式隨機化DT的列值:

library(data.table)
x<-rpois(20,5)
y<-rpois(20,10)
z<-rpois(20,8)
DT<-data.table(x,y,z)
DT[,lapply(.SD,sample)]

輸出

   x y z
1: 7 9 9
2: 8 13 6
3: 7 10 9
4: 7 15 4
5: 7 14 11
6: 7 10 7
7: 5 8 2
8: 4 12 7
9: 8 12 8
10: 6 6 7
11: 6 10 7
12: 6 7 7
13: 2 12 4
14: 7 11 6
15: 2 16 10
16: 7 8 8
17: 3 3 8
18: 7 9 9
19: 6 9 4
20: 7 17 8

更新於:2021年8月14日

163 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.