Это можно сделать с помощью dplyr
функций mutate
и case_when
, чтобы использовать столбец id
для применения функции dmy_hm
или mdy_hm
соответственно.
library(dplyr)
library(tibble) # for tribble
library(lubridate)
df <- tribble(~date, ~id,
"10/01/2014 08:00", "A", # these are day/month/year format
"10/01/2014 06:00", "A",
"09/01/2014 18:00", "A",
"09/01/2014 15:00", "A",
"09/01/2014 12:00", "A",
"09/01/2014 10:00", "A",
"10/01/2014 10:00", "B", # these are month/day/year format
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B",
"10/01/2014 10:00", "B")
mutate(df, date = case_when(id == "A" ~ dmy_hm(date),
id == "B" ~ mdy_hm(date)))
#> # A tibble: 10 x 2
#> date id
#> <dttm> <chr>
#> 1 2014-01-10 08:00:00 A
#> 2 2014-01-10 06:00:00 A
#> 3 2014-01-09 18:00:00 A
#> 4 2014-01-09 15:00:00 A
#> 5 2014-01-09 12:00:00 A
#> 6 2014-01-09 10:00:00 A
#> 7 2014-10-01 10:00:00 B
#> 8 2014-10-01 10:00:00 B
#> 9 2014-10-01 10:00:00 B
#> 10 2014-10-01 10:00:00 B
Создано в 2019-01-18 пакетом Представление (v0.2.1)