У меня есть вектор дат в формате символов Мне нужно преобразовать в формат даты. Некоторые месяцы сокращены, а некоторые - нет, потому что этот список является результатом ломаной сети. По какой-то причине не удается следующий преобразовать «7 сентября» (работает для остальных):Преобразование списка дат из символа в формат даты
employ <- c("Jan 5", "Feb 2", "March 9", "April 6", "May 4", "June 1","July 6", "Aug 3", "Sept 7", "Oct 5", "Nov 2", "Dec 7","Jan 4")
employ2 <- as.Date(employ, format = "%B %d")
#This is what the output of employ2 looks like:
[1] 2016-01-05 2016-02-02 2016-03-09 2016-04-06 2016-05-04 2016-06-01
[7] 2016-07-06 2016-08-03 <NA> 2016-10-05 2016-11-02 2016-12-07
[13] 2016-01-04
Я думал, что проблема может быть «т» в сентябре, так что я взял его с помощью gsub
. В этом случае код не может преобразовать «5 октября».
employ <- c("Jan 5", "Feb 2", "March 9", "April 6", "May 4", "June 1","July 6", "Aug 3", "Sept 7", "Oct 5", "Nov 2", "Dec 7","Jan 4")
employ <- gsub("t", "", employ)
employ2 <- as.Date(employ, format = "%B %d")
Может ли кто-нибудь помочь преобразовать весь список успешно? Огромное спасибо.
РЕДАКТИРОВАТЬ: пожалуйста, не отвечайте, ясно, что проблема действительно есть «t». Просто заметила это. Нужно выяснить другой способ удаления «t» с сентября.
'as.Date (работает с (респ ('% B% d', 8), '% Bt% d', rep ('% B% d', 4))) ' – alistaire
Или лучше,' lubridate :: parse_date_time (use, c ('% B% d ','% Bt% d '), exact = TRUE) ' – alistaire