【问题标题】:Delimit a column in R based on 2 characters根据2个字符分隔R中的列
【发布时间】:2023-01-05 21:45:01
【问题描述】:
我在 R 的数据框中有一列,其中包含诸如
C22/00556,
C21/00445,
B22/00111,
C22-00679等
我想把它分成两列,分别命名为“initial”和“number”。分隔符为“-”或“/”。
因此,我希望一列包含 C22、C21、B22 等,另一列包含 00556、00445 等。
我正在尝试使用单独的函数,但我正在为 sep= 部分而苦苦挣扎。
我试过使用 sep= c("/","-") 但这不起作用并引发错误。
【问题讨论】:
标签:
r
regex
string
dataframe
rstudio
【解决方案1】:
您可以通过/或(|)-使用tidyr的separate,如下所示:
df <- data.frame(V1 = c("C22/00556", "C21/00445", "B22/00111", "C22-00679"))
library(tidyr)
df %>%
separate(V1, c("initial", "number"), sep = "/|-")
#> initial number
#> 1 C22 00556
#> 2 C21 00445
#> 3 B22 00111
#> 4 C22 00679
创建于 2023-01-05 reprex v2.0.2