在R中将一列拆分为2

时间:2018-03-15 17:10:04

标签: r

我有一个类似

的df
ind1.id ind2.id group   wang
02_1    02_1    1205    -0.2999
02_1    02_11   1205    -0.1688
02_1    02_12   1205    -0.0873
02_1    02_13   1205    -0.0443
02_1    02_14   1205    -0.1415

我希望拆分组列,使其像这样

ind1.id ind2.id group1  group2  wang
02_1    02_1    12  05  -0.2999
02_1    02_11   12  05  -0.1688
02_1    02_12   12  05  -0.0873
02_1    02_13   12  05  -0.0443
02_1    02_14   12  05  -0.1415

我已经搞砸了strsplit和东西,但是没有成功地走到远方。

感谢。

2 个答案:

答案 0 :(得分:3)

尝试:

 library(tidyverse)
 df %>%
   as_tibble() %>%
   separate(group, c("group1", "group2"), sep = "0")

答案 1 :(得分:0)

类似,在前两位后切。

df %>% separate(group,c("group1","group2"),sep = "(?<=^\\d\\d)",remove=T)

结果:

   ind1.id ind2.id group1 group2    wang
1:    02_1    02_1     12     05 -0.2999
2:    02_1   02_11     12     05 -0.1688
3:    02_1   02_12     12     05 -0.0873
4:    02_1   02_13     12     05 -0.0443
5:    02_1   02_14     12     05 -0.1415