R – Convert date to day-of-week in R

dater

I have a date in this format in my data frame:

"02-July-2015"

And I need to convert it to the day of the week (i.e. 183). Something like:

df$day_of_week <- weekdays(as.Date(df$date_column))

But this doesn't understand the format of the dates.

Best Answer

You could use lubridate to convert to day of week or day of year.

library(lubridate)

# "02-July-2015" is Thursday
date_string <- "02-July-2015"
dt <- dmy(date_string)
dt
## [1] "2015-07-02 UTC"

### Day of week : (1-7, Sunday is 1)
wday(dt)
## [1] 5

### Day of year (1-366; for 2015, only 365) 
yday(dt)
## [1] 183

### Or a little shorter to do the same thing for Day of year
yday(dmy("02-July-2015"))
## [1] 183