我試圖做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