如何在 R 中拆分拆分的 data.table 对象?

要data.table在 R 中拆分拆分对象,我们可以按照以下步骤操作 -

  • 首先,创建一个data.table对象。

  • 然后,使用拆分功能拆分data.table对象。

  • 之后,使用do.call函数和 rbind 函数解开数据帧。

示例

创建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

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

  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对象

使用拆分功能拆分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

以上是 如何在 R 中拆分拆分的 data.table 对象? 的全部内容, 来源链接: utcz.com/z/322644.html

回到顶部