提取R中的第一个和最后一个交易日期



我有一个事务数据集,如下所示。

id   purchase_date
A   6/1/18
A   6/2/18
A   6/10/18
A   6/15/18
B   6/4/18
B   6/5/18
C   6/3/18
C   6/7/18
C   6/8/18
C   6/9/18
C   6/12/18
D   6/21/18
D   6/30/18
D   7/1/18
E   3/23/18

我只想为每个id处理第一个和最后一个事务。我的输出应该如下。

ID  FIRST_PURCHASE_DATE LAST_PURCHASE_DATE
A   6/1/18              6/15/18
B   6/4/18              6/5/18
C   6/3/18              6/12/18
D   6/21/18             7/1/18
E   3/23/18             3/23/18

我的实际数据有20万个唯一ID。如有任何建议,我们将不胜感激!

通过'ID'分组后,我们可以使用dplyr中的firstlast

library(dplyr)
df1 %>%
group_by(ID) %>% 
summarise(FIRST_PURCHASE_DATE = first(purchase_date),
LAST_PURCHASE_DATE  = last(purchase_date))

以上假设"purchase_date"按"ID"排序。如果不是,arrange转换成Date类后,取firstlast

library(lubridate)
df1 %>%
arrange(ID, mdy(purchase_date)) %>%
group_by(ID) %>% 
summarise(FIRST_PURCHASE_DATE = first(purchase_date),
LAST_PURCHASE_DATE  = last(purchase_date))

相关内容

最新更新