如何在R中按日期汇总数据

时间:2013-10-25 20:57:17

标签: r

大家好我想解决R中的问题。我想在R中汇总具有date变量,character变量和numeric变量的数据。我的数据库结构如下:

Date          ID         Mount
01/05/2013    1100        100
01/05/2013    1100        500
01/05/2013    11300       200
01/05/2013    11300       500
19/09/2013    4500        1000
19/09/2013    4500        3000
19/09/2013    5679        200
19/09/2013    5679        300
20/09/2013    4519        1000
20/09/2013    4519        2000
20/09/2013    5001        200
20/09/2013    5001        200

我希望先按日期聚合我的数据库,然后按ID聚合我的数据库,如下所示:

Date         ID     Mount
01/05/2013   1100    600
             11300   700
19/09/2013   4500    4000
             5679    500 
20/09/2013   4519    3000
             5001    400

我尝试使用aggregate()功能,但它只给了我datemount,我不能把ID变量。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

library(data.table)
dt <- data.table(dt)
dt[,list(sum(Mount)), by = c("Date","ID")]

答案 1 :(得分:0)

这就是你要找的东西

> result <-aggregate(Mount~Date + ID, sum, data=df )
> (result <- result[order(result$Date), ])
        Date    ID Mount
1 01/05/2013  1100   600
6 01/05/2013 11300   700
2 19/09/2013  4500  4000
5 19/09/2013  5679   500
3 20/09/2013  4519  3000
4 20/09/2013  5001   400

df是您的data.frame