Exciting news about the next version of R’s dplyr library! v1.1 will introduce non-equi joins, as well as rolling and overlap joins. The lack of these was a big frustration to me when I first started with it.

So in the future we’ll be able to do things like:

customers |>
left_join(sales_data, join_by(id, sale_date >= promotion_start))