如何在R的data.table对象中分离单列中的两个值?


为了分离R中data.table对象单列中的两个值,我们可以按照以下步骤操作:

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

  • 然后,使用tidyr包中的separate函数来分离单列中的值。

示例

创建data.table对象

让我们创建一个如下所示的data.table对象:

library(data.table)
DT<-
data.table(x=sample(c("A,B","B,C","C,D","D,E","E,F","F,G","G,H"),25,replace=TRUE))
DT

输出

执行上述脚本后,将生成以下输出(由于随机化,此输出将在您的系统上有所不同):

    x
1:  C,D
2:  C,D
3:  C,D
4:  A,B
5:  F,G
6:  A,B
7:  C,D
8:  G,H
9:  B,C
10: C,D
11: G,H
12: G,H
13: G,H
14: C,D
15: F,G
16: G,H
17: C,D
18: C,D
19: F,G
20: G,H
21: E,F
22: A,B
23: G,H
24: D,E
25: F,G
     x

分离列中的值

使用tidyr包中的separate函数来分离data.table对象DT中x列的值:

library(data.table)
DT<-
data.table(x=sample(c("A,B","B,C","C,D","D,E","E,F","F,G","G,H"),25,replace=TRUE))
library(tidyr)
DT %>% separate(x,c("Group1","Group2"),sep=",")

输出

  Group1 Group2
1:  C     D
2:  C     D
3:  C     D
4:  A     B
5:  F     G
6:  A     B
7:  C     D
8:  G     H
9:  B     C
10: C     D
11: G     H
12: G     H
13: G     H
14: C     D
15: F     G
16: G     H
17: C     D
18: C     D
19: F     G
20: G     H
21: E     F
22: A     B
23: G     H
24: D     E
25: F     G
   Group1 Group2

更新于:2021年11月15日

292 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.