Добрый день,
У меня есть два столбца даты в as.POSIXct в формате ГГГГ-ММ-ДД ЧЧ: ММ: СС.Я хотел бы получить разницу между ними, отображаемую в формате Days Hours: Seconds.Вот некоторые фиктивные данные:
a<-c("2018-03-20 11:52:25 AST", "2018-03-20 12:51:25 AST", "2018-03-20 14:19:04 AST",
"2018-03-21 14:12:12 AST", "2018-03-21 12:09:22 AST", "2018-03-21 15:28:01 AST")
b<-c("2018-04-09 18:39:38 AST", "2018-06-23 19:13:14 AST", "2018-03-20 23:23:03 AST",
"2018-05-10 21:29:28 AST", "2018-03-22 03:17:23 AST", "2018-05-12 00:19:39 AST")
ab<-data.frame(a,b)
, который дает этот кадр данных:
a b
2018-03-20 11:52:25 AST 2018-04-09 18:39:38 AST
2018-03-20 12:51:25 AST 2018-06-23 19:13:14 AST
2018-03-20 14:19:04 AST 2018-03-20 23:23:03 AST
2018-03-21 14:12:12 AST 2018-05-10 21:29:28 AST
2018-03-21 12:09:22 AST 2018-03-22 03:17:23 AST
2018-03-21 15:28:01 AST 2018-05-12 00:19:39 AST
Я хотел бы получить разницу между a и b или вычесть время a из времени b вполучить вывод X дней X часов: X секунд.
Я использовал difftime ниже, а единицы измерения были установлены по-разному:
ab$time_difference<-difftime(ab$b, ab$a)
ab
a b time_difference
2018-03-20 11:52:25 AST 2018-04-09 18:39:38 AST 486.786944 hours
2018-03-20 12:51:25 AST 2018-06-23 19:13:14 AST 2286.363611 hours
2018-03-20 14:19:04 AST 2018-03-20 23:23:03 AST 9.066389 hours
2018-03-21 14:12:12 AST 2018-05-10 21:29:28 AST 1207.287778 hours
2018-03-21 12:09:22 AST 2018-03-22 03:17:23 AST 15.133611 hours
2018-03-21 15:28:01 AST 2018-05-12 00:19:39 AST 1232.860556 hours
Я также попробовал следующее:
ab$time_difference<-difftime(ab$b, ab$a,units=c("days","hours","seconds"))
Но получите ошибку, которая 'единицы должны быть длиной 1. Есть ли другая команда, которую я должен использовать, или есть какой-то способ для difftime произвести более точную разницу во времени?
Спасибо!