在数据帧 R 中拆分值

splitting values in a dataframe R

我在 R 中有这个数据框。 df 的名称:POST

Order_id Postcalcode
1        5253HP
2        4261FF
44       5111QW

我想从邮政编码中拆分数字和字母,因为我只需要数字,所以预期输出是

Order_id Postalcode
1        5253
2        4261
44       5111
library(magrittr)
library(dplyr)
library(stringr)

df %>% mutate(Postcalcode = str_extract(Postcalcode,"\d+"))

  Order_id Postcalcode
1        1        5253
2        2        4261
3       44        5111

此外,tidyr::separate 可能值得一看。在下面的示例中,拆分发生在定义的位置。

dta <- readr::read_table(file = "
Order_id Postcalcode
1        5253HP
2        4261FF
44       5111QW")

tidyr::separate(
    data = dta,
    col = "Postcalcode",
    into = c("first_part", "second_part"),
    sep = 4,
    remove = FALSE
)

结果:

# A tibble: 3 × 4
  Order_id Postcalcode first_part second_part
     <dbl> <chr>       <chr>      <chr>      
1        1 5253HP      5253       HP         
2        2 4261FF      4261       FF         
3       44 5111QW      5111       QW