我正在尝试在 R 中做一些相当于 SQL 中的“第一值”窗口函数的事情,例如:
select *, first_value(value3) over (partition by value1, value2 order by value5 desc)
from df
有没有一种好方法可以在 R 中执行此操作,而无需创建数据库来使用 sqldf/RPostgreSQL 之类的东西?
我在这里看到了一些其他示例,例如:sqldf 中的按组累积总和?
但是我在弄清楚如何使用窗口内的顺序很重要的功能时遇到了一些麻烦。另一件事是我正在处理约 500K 行,因此性能是一个问题。
编辑:这是一个例子:
item_id rental_date customer_id
I001 10/20/2012 1
I002 10/05/2012 4
I001 10/15/2012 3
I004 10/19/2012 1
I001 10/11/2012 6
I002 9/15/2012 5
I004 10/13/2012 10
I001 9/30/2012 4
我如何确定每个月租用给定项目的第一个客户?