У меня есть следующий фиктивный фрейм данных:
structure(list(id = 1:10, dates = c("2018-07-02, 2018-06-28",
"2018-08-22", "2018-08-06, 2018-07-31", "2018-03-08", "2018-02-22, 2018-02-19",
"2018-07-04, 2018-07-06", "2018-06-26, 2018-06-22", "2018-01-18, 2018-01-24",
"2018-06-05, 2018-06-14", "2018-01-18")), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -10L))
Я хочу преобразовать все записи в столбце «даты» в дату, затем выбрать самую новую и удалить все другие даты в этой ячейке.
Я пробовал следующее:
library(dplyr)
library(reprex)
library(purrr)
library(lubridate)
test_df %>%
mutate(dates = dates %>%
str_extract_all("[0-9]+-[0-9]+-[0-9]+") %>%
map(ymd) %>%
map_lgl(~ any(max(.))))
Но каким-то образом это преобразует все записи в каждой ячейке в число вместо правильных дат.
Что я хочу получить в итогес:
id dates
1 2018-07-02
2 2018-08-22
3 2018-08-06
4 2018-03-08
5 2018-02-22
6 2018-07-06
7 2018-06-26
8 2018-01-24
9 2018-06-14
10 2018-01-18