I\'m trying to subtract 2 character vectors containing date time information in the following format:
> dput(train2)
structure(list(time2 = c(\"2011-09-01 23
Easy peasy:
R> now <- Sys.time()
R> then <- Sys.time()
R> then - now
Time difference of 5.357 secs
R> class(then - now)
[1] "difftime"
R> as.numeric(then - now)
[1] 5.357
R>
And for your data:
R> df
time2 time3
1 2011-09-01 23:44:52.533 2011-09-01 23:43:59.752
2 2011-09-05 12:25:37.42 2011-09-05 12:25:01.187
3 2011-08-24 12:56:58.91 2011-08-24 12:55:13.012
4 2011-10-25 07:18:14.722 2011-10-25 07:16:51.759
5 2011-10-25 07:19:51.697 2011-10-25 07:16:51.759
R> df$time2 <- strptime(df$time2, "%Y-%m-%d %H:%M:%OS")
R> df$time3 <- strptime(df$time3, "%Y-%m-%d %H:%M:%OS")
R> df
time2 time3
1 2011-09-01 23:44:52.533 2011-09-01 23:43:59.752
2 2011-09-05 12:25:37.420 2011-09-05 12:25:01.187
3 2011-08-24 12:56:58.910 2011-08-24 12:55:13.012
4 2011-10-25 07:18:14.722 2011-10-25 07:16:51.759
5 2011-10-25 07:19:51.697 2011-10-25 07:16:51.759
R> df$time2 - df$time3
Time differences in secs
[1] 52.781 36.233 105.898 82.963 179.938
attr(,"tzone")
[1] ""
R>
and added back as a numeric to the data frame:
R> df$dt <- as.numeric(df$time2 - df$time3)
R> df
time2 time3 dt
1 2011-09-01 23:44:52.533 2011-09-01 23:43:59.752 52.781
2 2011-09-05 12:25:37.420 2011-09-05 12:25:01.187 36.233
3 2011-08-24 12:56:58.910 2011-08-24 12:55:13.012 105.898
4 2011-10-25 07:18:14.722 2011-10-25 07:16:51.759 82.963
5 2011-10-25 07:19:51.697 2011-10-25 07:16:51.759 179.938
R>