在数据帧 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
我在 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