此问题是从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