У меня есть фрейм данных с 406829 строками, где даты представлены в формате POSIXt. Ниже приведены примеры данных:
CustomerID InvoiceDate
12346 2011-01-18 10:01:00
12346 2011-01-18 10:17:00
12346 2010-12-07 14:57:00
12347 2011-01-26 14:30:00
12347 2011-04-07 10:43:00
12348 2011-06-09 13:01:00
Я хочу найти разницу между каждой датой для каждого идентификатора клиента в днях.
Я уже попробовал метод, указанный в этой ссылке: Как рассчитать количество дней между двумя датами в одном столбце в R
Это код, который я использовал:
df_3 <- df_2 %>%
group_by(CustomerID, InvoiceDate) %>%
mutate(dt = as.numeric(lead(InvoiceDate, default = last(InvoiceDate)) - InvoiceDate))
Когда я запускаю это, R выдает вывод, где разница в дате такова: разница между датой в первой строке и датой в последней строке, разницей между датой во второй строке и датой в последней строке и т. Д.
Я хочу, чтобы программа рассчитала разницу в дате выставления счета для каждого клиента отдельно. Это вывод, который мне нужен:
CustomerID InvoiceDate Difference
12346 2011-01-18 10:01:00 0
12346 2011-01-18 10:17:00 0
12346 2010-12-07 14:57:00 0
12347 2011-01-26 14:30:00 67
12347 2011-04-07 10:43:00 62
12348 2011-06-09 13:01:00