【发布时间】:2021-03-05 13:52:34
【问题描述】:
在 R 中整理数据框后,我获得了一个日期列,其中有时日期会粘在一起。 如何将这些连接的日期拆分为新行?
date
6/01/220
20/03/202021/02/2020
15/04/202016/04/2020
9/05/2020
【问题讨论】:
在 R 中整理数据框后,我获得了一个日期列,其中有时日期会粘在一起。 如何将这些连接的日期拆分为新行?
date
6/01/220
20/03/202021/02/2020
15/04/202016/04/2020
9/05/2020
【问题讨论】:
假设“220 年 6 月 1 日”是一个错字,这将起作用:
df %>%
mutate(date = str_extract_all(date, "\\d{1,2}/\\d{2}/\\d{4}")) %>%
unnest(date)
#> # A tibble: 6 x 1
#> date
#> <chr>
#> 1 6/01/2020
#> 2 20/03/2020
#> 3 21/02/2020
#> 4 15/04/2020
#> 5 16/04/2020
#> 6 9/05/2020
重要的部分是正则表达式 ("\\d{1,2}/\\d{2}/\\d{4}")。
\\d{1,2} 表示长度在 1 到 2 个字符之间的数字\\d{2} 表示正好 2 个字符长的数字\\d{4} 表示正好 4 个字符长的数字Regex 有大量教程。我总是推荐这个cheatsheet。
【讨论】: