【发布时间】:2018-06-25 21:37:15
【问题描述】:
我需要将单个数据框列 (ID) 拆分为五个单独的列(A、B、C、D、E)。列需要按以下方式拆分:
- A - 第一个字母
- B - 直到第二个字母的所有数字
- C - 直到最后一个字母的所有字母
- D - 最后一个数字
- E - 最后一个字母
举个例子:
之前
ID Conc
1 A01HGF1a 132
2 D02SDV2b 453
之后
A B C D E Conc
1 A 01 HGF 1 a 132
2 D 02 SDV 2 b 453
我尝试使用 tidyr 中的 separate(),但无法弄清楚如何正确使用正则表达式。非常感谢任何帮助!
这是我迄今为止的尝试
`separate(df, ID, into = c("A", "B", "C", "D","E"), sep = "(^.)(\\d+)(\\S+)(\\d+)(\\S+)")`
【问题讨论】: