[英]Splitting a single column in r into 4 separate columns
我需要将单个数据框列(ID)分为五个单独的列(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的split(),但无法弄清楚如何正确使用正则表达式。 任何帮助深表感谢!
到目前为止,这是我尝试过的
`separate(df, ID, into = c("A", "B", "C", "D","E"), sep = "(^.)(\\d+)(\\S+)(\\d+)(\\S+)")`
您可以在此处将sub
用于基本R选项:
df$A <- sub("^(\\w).*", "\\1", df$ID)
df$B <- sub("^\\w(\\d+).*", "\\1", df$ID)
df$C <- sub("^\\w\\d+(\\D+).*", "\\1", df$ID)
df$D <- sub(".*?(\\d+)\\D+$", "\\1", df$ID)
df$E <- sub(".*?(\\D+)$", "\\1", df$ID)
df
ID Conc A B C D E
1 A01HGF1a 132 A 01 HGF 1 a
2 D02SDV2b 453 D 02 SDV 2 b
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.