我试图做R中的东西,相当于“第一值”在SQL窗口化功能,如:R中的窗口函数?
select *, first_value(value3) over (partition by value1, value2 order by value5 desc)
from df
有R中做到这一点的好方法,而无需创建一个数据库使用类似sqldf/RPostgreSQL的东西?
我见过喜欢这里的答案,其他一些例子:Cumulative sum by group in 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
我将如何确定的第一个客户租每个月给定的项目?
你可以为我们这些不精通SQL的人扩展描述吗? –
您可以修改链接问题中的答案以返回第一行。它看起来像'dt [,.SD [1,],by = yourKey]'。有一些很好的答案[这里](http://stats.stackexchange.com/questions/7884/fast-ways-in-r-to-get-the-first-row-of-a-data-frame-grouped -by-AN-标识符/ 7889#7889)。您可能会想要在日期列上进行一些操作来提取月份。你有多年的数据?即需要与2012年1月分开分析2011年1月?有些事情要记住...... – Chase