【问题标题】: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】:

您可以通过/或(|)-使用tidyrseparate,如下所示:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多