2015-05-16 84 views
-4

數據示例如下:我有3百萬行。 data.table用行消除的複雜操作

 
Date,id,type,qty 
9/30/14,1,’A’,10 
9/30/14,2,’Z’,12 
9/30/14,3,’B’,15 
9/30/14,1,’B’,20 
9/30/14,1,’Z’,20 
9/30/14,1,’A’,20 
9/30/14,2,’B’,20 
9/30/14,3,’B’,5 
9/30/14,3,’A’,40 

我想如下結果:

 
Date,id,type,Qty 
9/30/14,1,A,20 
9/30/14,1,B,20 
9/30/14,2,B,20 
9/30/14,3,B,5 
9/30/14,3,’A’,40 

流程如下:在同一日期,挑選最新的數量(從後來記錄)每個ID和type.Ignore類型Y和Z.

+0

我們只是猜猜你在用什麼技術?你有什麼嘗試? –

+0

'data.table'標籤與R關聯,但這只是包含作業說明的csv數據。 – Frank

回答

1
DT[,.(Qty=last(qty)),by=.(Date,id,type)][type!='Z'][order(id)] 
+0

完美 - 這絕對有助於我想要做的事情。 – Viswa