Я думаю, что мы должны проанализировать их отдельно, потому что формат не соответствует.Сначала мы анализируем те, которые имеют компонент даты, месяца и года.Те, которые возвращают NA
, затем анализируются путем добавления в них "01".
new_x <- as.Date(x, "%d-%b-%y")
new_x[is.na(new_x)] <- as.Date(paste0("01-", x[is.na(new_x)]), "%d-%b-%y")
new_x
#[1] "2012-04-01" "2012-12-01" "2014-07-30" "2016-03-01" "2016-02-29" "2017-05-01"
#[7] "2014-11-20"
Подробнее о форматах можно узнать по ?strptime
.
data
x <-factor(c("Apr-12", "Dec-12", "30-Jul-14", "Mar-16", "29-Feb-16",
"May-17","20-Nov-14"))