如何在 R 中解除拆分的 split data.table 对象?
要在 R 中解除拆分的 split data.table 对象,我们可以执行以下步骤 −
首先,创建一个 data.table 对象。
然后,使用 split 函数拆分 data.table 对象。
之后,使用 do.call 函数以及 rbind 函数来解除 data.table 的拆分。
示例
创建 data.table 对象
让我们创建一个 data.table 对象,如下所示 −
library(data.table) Grp<-sample(LETTERS[1:4],25,replace=TRUE) Score<-sample(1:50,25) DT<-data.table(Grp,Score) DT
输出
执行上述脚本时,会生成如下输出(此输出因系统随机化而异) −
Grp Score 1: D 13 2: D 25 3: A 21 4: A 1 5: C 4 6: B 16 7: A 28 8: A 6 9: C 26 10: D 2 11: A 47 12: D 38 13: A 49 14: B 31 15: A 36 16: C 41 17: D 24 18: C 27 19: C 34 20: D 7 21: D 42 22: C 14 23: B 44 24: B 30 25: D 19 Grp Score
拆分 data.table 对象
使用 split 函数拆分 data.table 对象 −
library(data.table) Grp<-sample(LETTERS[1:4],25,replace=TRUE) Score<-sample(1:50,25) DT<-data.table(Grp,Score) new_DT<-split(DT,DT$Grp) new_DT
输出
$A Grp Score 1: A 21 2: A 1 3: A 28 4: A 6 5: A 47 6: A 49 7: A 36 $B Grp Score 1: B 16 2: B 31 3: B 44 4: B 30 $C Grp Score 1: C 4 2: C 26 3: C 41 4: C 27 5: C 34 6: C 14 $D Grp Score 1: D 13 2: D 25 3: D 2 4: D 38 5: D 24 6: D 7 7: D 42 8: D 19
解除 data.table 对象的拆分
使用 do.call 函数以及 rbind 函数解除 data.table 对象 DT 的拆分 −
library(data.table) Grp<-sample(LETTERS[1:4],25,replace=TRUE) Score<-sample(1:50,25) DT<-data.table(Grp,Score) new_DT<-split(DT,DT$Grp) do.call("rbind",new_DT)
输出
Grp Score 1: A 21 2: A 1 3: A 28 4: A 6 5: A 47 6: A 49 7: A 36 8: B 16 9: B 31 10: B 44 11: B 30 12: C 4 13: C 26 14: C 41 15: C 27 16: C 34 17: C 14 18: D 13 19: D 25 20: D 2 21: D 38 22: D 24 23: D 7 24: D 42 25: D 19 Grp Score
广告