1
我有相當大的數據幀(幾百萬條記錄)。
由於以下規則,我需要對其進行過濾:
- 對於每個產品,刪除x> 0的第一條記錄之後的第五條記錄之前的所有記錄。在R中過濾沒有循環的數據
所以,我們只關注兩列 - ID和x。數據框按ID排序。
使用循環來完成它是相當容易的,但循環在這樣的大數據框上表現不佳。
如何在'矢量風格'中做到這一點?
實施例:
之前過濾
ID x
1 0
1 0
1 5 # First record with x>0
1 0
1 3
1 4
1 0
1 9
1 0 # Delete all earlier records of that product
1 0
1 6
2 0
2 1 # First record with x>0
2 0
2 4
2 5
2 8
2 0 # Delete all earlier records of that product
2 1
2 3
過濾後:
ID x
1 9
1 0
1 0
1 6
2 0
2 1
2 3
謝謝!有用。那正是我正在尋找的 - 乾淨的R風格解決方案。 –