oercim
oercim

Reputation: 1848

Adding time to day speficied dates in R

I want to add hours to day specified dates. And I want the output to be in date format. I wrote the below code:

day<-as.Date(c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016"),format="%d-%m-%Y")
hour<-c("12:00:00")
date<-as.Date(paste(day,hour), format="%d-%m-%Y %h:%m:%s")

However, This code produces NA's:

> date
[1] NA NA NA NA

How can I do this in R? I will be very glad for any help. Thanks a lot.

The below code also doesn't work:

day<-as.Date(c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016"),format="%d-%m-%Y")
time <- "12:00:00"
x <- paste(day, time)
x1<-as.POSIXct(x, format = "%d-%m-%Y %H:%M:%S")

It still prodeces NAs:

> x1
[1] NA NA NA NA

Upvotes: 0

Views: 54

Answers (1)

Samuel
Samuel

Reputation: 3051

You can do either of these two:

dates <- as.Date(c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016"), format = "%d-%m-%Y")
time <- "12:00:00"
x <- paste(dates, time)
as.POSIXct(x, format = "%Y-%m-%d %H:%M:%S")

dates <- c("20-01-2016", "21-01-2016", "22-01-2016", "23-01-2016")
time <- "12:00:00"
x <- paste(dates, time)
as.POSIXct(x, format = "%d-%m-%Y %H:%M:%S")

I personally find the second version simpler.

Upvotes: 2

Related Questions