【发布时间】:2021-01-06 12:46:23
【问题描述】:
我有一个有两个日期的大型数据库。例如。获取超市数据 (http://www.tableau.com/sites/default/files/training/global_superstore.zip) 'Orders' Sheet。
一个日期是订单日期,另一个是发货/交货日期(假设它是交货日期)。我想知道那些下一个订单的客户的所有订单的详细信息,而无需等待他们之前的任何一个订单的发货/交付。
例如ID 为“ZC-21910”的客户于 2014 年 6 月 12 日下订单 ID 为 CA-2014-133928,该订单于 2014 年 6 月 18 日发货。然而,同一客户于 6 月 13 日下订单 ID 为“IT-2014-3511710” 2014 年,即 2014 年 6 月 18 日之前(早期订单之一的发货日期)。
最好在单独的数据框/表中过滤掉所有此类订单(订单 ID)。
如何在 R 中做到这一点?
示例数据集
> dput(df)
structure(list(customer_id = c("A", "A", "A", "B", "B", "C",
"C"), order_id = structure(1:7, .Label = c("1", "2", "3", "4",
"5", "6", "7"), class = "factor"), order_date = structure(c(17897,
17901, 17912, 17901, 17902, 17903, 17905), class = "Date"), ship_date = structure(c(17926,
17906, 17914, 17904, 17904, 17904, 17906), class = "Date")), row.names = c(NA,
-7L), class = c("tbl_df", "tbl", "data.frame"))
【问题讨论】:
标签: r dataframe dplyr iteration rolling-computation