Converting date in Year.decimal form in R

monkeyshines picture monkeyshines · Nov 17, 2014 · Viewed 9.1k times · Source

I have a ts column that saves years in decimal format ie

1988.0
1988.25
1988.5
1988.75

and so on. I need to export it to a .csv file with the date in a "DD-MM-YYYY" format.

How do I do this?

Answer

Rich Scriven picture Rich Scriven · Nov 17, 2014

The lubridate package has a function, date_decimal that you can use for this.

x <- c(1988.0, 1988.25, 1988.5, 1988.75)
library(lubridate)
(f <- format(date_decimal(x), "%d-%m-%Y"))
# [1] "01-01-1988" "01-04-1988" "02-07-1988" "01-10-1988"

Then you can write it to a csv with

write.csv(f, "afilename.csv")   ## or write.table()

You'll probably want to check the output first and adjust some of the arguments to whatever format you want.