Search code examples
rdatedplyrlubridateanytime

lubridate: how to parse month-year?


I have a column of dates as follows,

> mymonth = c('10/2015','11/2016','12/2016')
> data <- data_frame(mymonth)
> data
# A tibble: 3 × 1
  mymonth
    <chr>
1 10/2015
2 11/2016
3 12/2016

Here, obviously, my month corresponds to a particular month in the year. October 2015, November 2015 and December 2015.

I cannot parse these dates correctly with lubridate. It is assumed the month correspond to the last business day of the month.

How can I have this variable translated into a date variable that lubridate understands?

Thanks~


Solution

  • library(zoo)
    as.yearmon(mymonth, "%m/%Y")
    [1] "Oct 2015" "Nov 2016" "Dec 2016"
    
    as.Date(as.yearmon(mymonth, "%m/%Y"))
    [1] "2015-10-01" "2016-11-01" "2016-12-01"
    

    or another workaround,

    as.Date(paste0("01/", mymonth),format = "%d/%m/%Y")
    [1] "2015-10-01" "2016-11-01" "2016-12-01"