我有一個交易樣本 - 客戶ID
,交易DATE
,交易VALUE
(每天最多一筆交易)...全部按ID
排序,然後按DATE
排序。是否有刪除所有交易的矢量化方式,但是每個客戶ID的最近N?
我只需要爲每個客戶保留最近的N
交易(比如最新的3個)。有沒有矢量化的方式來做到這一點?在原始示例中,我有數百萬個事務 - FOR循環執行時間過長。
ID DATE VALUE
205 18.10.2010 19
209 30.09.2010 19
209 21.10.2010 19
209 07.11.2010 19
228 08.11.2010 159
237 24.10.2010 159
237 13.11.2010 200
248 30.09.2010 25
274 05.10.2010 19
274 11.10.2010 10
274 25.10.2010 19
274 05.11.2010 19
292 25.09.2010 159
292 03.10.2010 159
292 10.10.2010 159
292 26.10.2010 159
292 07.11.2010 159
310 18.10.2010 19
310 07.11.2010 19
310 19.11.2010 19
354 23.10.2010 19
354 02.11.2010 19
354 14.11.2010 19
354 22.11.2010 19
368 18.10.2010 19
369 25.09.2010 25
369 26.09.2010 25
369 27.09.2010 25
369 02.10.2010 25
369 04.10.2010 159
369 11.10.2010 20
369 15.10.2010 10
369 16.10.2010 19
369 23.10.2010 10
369 26.10.2010 10
369 29.10.2010 10
369 01.11.2010 10
369 02.11.2010 30
369 08.11.2010 10
369 13.11.2010 20
369 15.11.2010 70
369 23.11.2010 20
375 14.11.2010 159
382 11.10.2010 18
382 16.11.2010 20
387 26.10.2010 19
407 26.09.2010 25
407 04.10.2010 25
407 10.10.2010 70
407 25.10.2010 19
你甚至有你的數據在R嗎?這是[r]標籤中最常見的問題。你有什麼嘗試? – GSee
發佈'dput(mydata)'(或者你的數據框是什麼)會使這個問題重現並且更容易回答。 –
上面的示例其實就是我的數據框。約500萬人中有50排。 – dmitryungurean