我有如下数据框。
ID OrDATE ExDATE INVOICE SHIPPED RECEIVE
1 2015-11-26 2015-11-26 20 0 0
1 2016-10-28 2016-11-14 20 0 0
2 2015-11-26 2015-11-26 20 0 0
2 2016-10-26 2016-11-14 20 0 0
3 2015-11-26 2015-11-26 30 0 0
3 2016-10-26 2016-11-14 20 0 0
我想通过使用OrDate列中的最新日期来根据其ID合并此数据框,但是,不应累积INVOICE,SHIPPED或RECEIVE。
ID OrDATE ExDATE INVOICE SHIPPED RECEIVE
1 2016-10-28 2016-11-14 20 0 0
2 2016-10-26 2016-11-14 20 0 0
3 2016-10-26 2016-11-14 20 0 0
答案 0 :(得分:0)
我们可以按'ID'和slice
分组'OrDATE'中具有max
日期的行
library(dplyr)
df1 %>%
group_by(ID) %>%
slice(which.max(OrDATE))
# A tibble: 3 x 6
# Groups: ID [3]
# ID OrDATE ExDATE INVOICE SHIPPED RECEIVE
# <int> <date> <chr> <int> <int> <int>
#1 1 2016-10-28 2016-11-14 20 0 0
#2 2 2016-10-26 2016-11-14 20 0 0
#3 3 2016-10-26 2016-11-14 20 0 0