此問題是從here的擴展。
如果我的數據有一個名爲Remark
柱:保留基於其他列的觀察
ID Name Type Date Amount Remark
1 AAAA First 2009/7/20 100 Not want
1 AAAA First 2010/2/3 200 want ya
2 BBBB First 2015/3/10 250
2 CCC Second 2009/2/23 300 good
2 CCC Second 2010/1/25 400 OK Right123
2 CCC Third 2015/4/9 500
2 CCC Third 2016/6/25 700 Stackoverflow is awesome
我想我的結果,以保持它當Date
爲最大。
首先,如果我不考慮列Remark
,我可以使用max()
得到這個:
dt[,.(Date = max(Date), Amount = sum(Amount)), by = .(ID, Name, Type)]
ID Name Type Date Amount
1: 1 AAAA First 2010-02-03 300
2: 2 BBBB First 2015-03-10 250
3: 2 CCC Second 2010-01-25 700
4: 2 CCC Third 2016-06-25 1200
不過,我怎能備註。
ID Name Type Date Amount Remark
1: 1 AAAA First 2010-02-03 300 want ya
2: 2 BBBB First 2015-03-10 250
3: 2 CCC Second 2010-01-25 700 OK Right123
4: 2 CCC Third 2016-06-25 1200 Stackoverflow is awesome
這裏是我的數據:
dt <- fread("
ID Name Type Date Amount Remark
1 AAAA First 2009/7/20 100 Not.want
1 AAAA First 2010/2/3 200 want.ya
2 BBBB First 2015/3/10 250
2 CCC Second 2009/2/23 300 good
2 CCC Second 2010/1/25 400 OK.Right123
2 CCC Third 2015/4/9 500
2 CCC Third 2016/6/25 700 Stackoverflow.is.awesome
")
dt$Date <- as.Date(dt$Date)
請在重現的格式提供數據。 – Frank
@Frank我編輯我的問題。 –
請參閱https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/28481250#28481250我們應該能夠在新的R會話中複製粘貼代碼並查看相同的示例數據。我仍然在那裏看到非日期......另外,運行'fread'時出現錯誤。 – Frank