如何随机化 R 中所有列的 data.table 对象的列值?
要随机化data.tableR中所有列的对象的列值,我们可以按照以下步骤操作-
首先,创建一个data.table对象。
然后,使用带有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
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
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