data.table复杂操作与行消除

时间:2015-05-16 19:56:32

标签: r data.table

数据样本如下:我有300万行。

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选择最新的qty(来自后面的记录).Ignore类型y和Z。

1 个答案:

答案 0 :(得分:1)

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