如何在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 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告