В базе R мы можем добавить месяц с seq
и вычесть день.
as.Date(mapply(function(x) seq(x, length.out=2, by="month")[2] - 1,
as.Date(paste("01", dataset$MonthYear), "%d %B %Y")),
origin="1970-01-01")
# [1] "2015-05-31" "2015-04-30" "2016-01-31" "2016-02-29" "2018-12-31"
Примечание: as.Date(dataset$MonthYear, "%B %Y")
не будет работать как-то, я незнаете почему ...?
Данные
dataset <- structure(list(MonthYear = structure(c(5L, 1L, 4L, 3L, 2L), .Label = c("April 2015",
"December 2018", "February 2016", "January 2016", "May 2015"), class = "factor")), class = "data.frame", row.names = c(NA,
-5L))