item<-c("A","B")
Type<-c("P400","1200C")
> test_df<-data.frame(item, Type)
> test_df
item Type
1 A P400
2 B 1200C
test_df<-test_df |> tidyr::separate(Type, into = c("A", "B"), sep = "(?<=[0-9])(?=[A-Za-z])")
> test_df
item A B
1 A P400 <NA>
2 B 1200 C
大家好,使用
tidyr::separate
,我可以将 test_df$Type 拆分为数字和文本,代码将 1200C 拆分为 1200 & C,但是,对于 P400,我期望 P & 400,但返回 NA。 你能帮我一下吗?干杯。
另一种可能适合您的方法:
library(tidyverse)
test_df |>
mutate(A = parse_number(Type),
B = Type |> str_remove(as.character(A)))
item Type A B
1 A P400 400 P
2 B 1200C 1200 C