#r #date
Вопрос:
Я новичок в R и работаю над очисткой таблицы данных, а в csv есть столбец под названием Contract.Valid.Until
df$Contract.Valid.Until lt;- c("2020", "2021", "2019", "30-Jun-19", "2022", "18-Aug-2021")
Теперь я хочу преобразовать его в единый тип даты, я нашел функции для года и для дат в переполнении стека, но не знаю, как их объединить, вот функции, которые я нашел
df$Contract.Valid.Until lt;- lubridate::ymd(df$Contract.Valid.Until, truncated = 2L) df$Contract.Valid.Until lt;- as.Date(df$Contract.Valid.Until, "%d-%b-%y")
Я был бы очень рад, если бы кто-нибудь из вас мог мне помочь 🙂
Ответ №1:
Возможно parse_date
, сработало бы
library(parsedate) parse_date(c("2020", "2021", "2019", "30-Jun-19", "2022", "18-Aug-2021")) [1] "2020-01-01 UTC" "2021-01-01 UTC" "2019-01-01 UTC" "2019-06-30 UTC" "2022-01-01 UTC" "2021-08-18 UTC"
Комментарии:
1. Ваше решение работает с вектором, который я дал, но когда я пробую его в своем фактическом столбце (символы класса), оно не работает. Это сообщение об ошибке, которое я получаю: Предупреждение: 17885 ошибок синтаксического анализа. строка col ожидаемый фактический 1 — дата, как 2021 2 — дата, как 2022
2. Если решение работает с предоставленными вами данными, вы не смогли предоставить надлежащий воспроизводимый пример. Пожалуйста, поделитесь данными со столбцами, которые не удалось проанализировать.
3. Нет, мой пример был правильным, и решение тоже, у меня просто было несколько библиотек, и моя программа использовала неправильную функцию parse_date. Я приношу свои извинения, это был мой первый вопрос о переполнении стека и мой первый проект R, спасибо за вашу помощь, ребята