-3

大家好,我正在尝试解决 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()功能,但它只给了我date而且mount我不能放ID变量。谢谢你的帮助。

4

2 回答 2

0
library(data.table)
dt <- data.table(dt)
dt[,list(sum(Mount)), by = c("Date","ID")]
于 2013-10-25T21:13:19.380 回答
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

于 2013-10-25T21:33:33.883 回答