我有一个数据表定义如下:
| 实体|价值|斯达特|编辑日期|类型|
| - ------|- ------|- ------|- ------|- ------|
| A类|五个|2023年1月1日|2023年4月1日|事件1|
| A类|六个|2023年6月1日|2023年8月1日|事件2|
| B|八个|2023年1月1日|2023年3月1日|事件1|
| B|九|2023年5月1日|2023年6月1日|事件2|
如果用户输入一条新记录,其中实体A的日期范围为A, 55, 2/1/2023, 2/20/2023
(Feb 1st到Feb 20th),则代码不应将此数据保存到数据库,因为实体A的第一个条目已经涵盖了从Jan 1st to April 1st
开始的整个日期范围。
如何检查新的SDate和EDate是否在特定实体的 Dataframe 中现有SDate和EDate的范围内
1条答案
按热度按时间62lalag41#
你可以使用
semi_join()
来决定哪些行不应该被添加,或者使用anti_join()
来决定哪些行应该被添加,这需要dplyr1.1.0。我添加了一个额外的“new”行,它不属于任何现有的
"A"
范围,以显示不同之处。