Neil
Neil

Reputation: 8247

as.Date returning NA while converting it from character

I am converting following format to date from character

  January 2016

I want to convert it to following format

   201601

I am using following code

    df$date <- as.Date(df$date,"%B %Y")

But it returns me NA values. I have even set the locale as follows

    lct<- Sys.getlocale("LC_TIME")
    Sys.setlocale("LC_TIME",lct)

But it gives me NA values. How to fix it

Upvotes: 1

Views: 3478

Answers (1)

akrun
akrun

Reputation: 887951

We can do this easily with as.yearmon and format

library(zoo)
format(as.yearmon(str1), "%Y%m")
#[1] "201601"

If we are going by the as.Date route, then 'Date' requires day also, so, paste a day and then use format after converting to 'Date'

format(as.Date(paste(str1, '01'), "%B %Y %d") , "%Y%m")

data

str1 <- "January 2016"

Upvotes: 2

Related Questions