合并数据框中具有相同日期的行

时间:2017-10-02 19:33:46

标签: r date aggregate

我有一个data.frame如下:

         timestamp     index   negative  positive sentiment
            <dttm>      <dbl>    <dbl>    <dbl>     <dbl>
1 2015-10-29 15:00:10     0       11       10        -1
2 2015-10-29 17:26:48     0        1        5         4
3 2015-10-29 17:30:07     0       10       22        12
4 2015-10-29 20:13:22     0        5        6         1
5 2015-10-30 14:25:26     0        3        2        -1
6 2015-10-30 18:22:30     0       14       15         1
7 2015-10-31 14:16:00     0       10       23        13
8 2015-11-02 20:30:18     0       14        7        -7
9 2015-11-03 14:15:00     0        8       26        18
10 2015-11-03 16:52:30    0       12       34        22

我想知道是否有可能在相同的日子里合并行,这样我每天都有得分,因为我完全不知道如何处理这个问题,因为我甚至不知道如何取消每个日期并编写一个仅合并相同日期的函数,因为时间每天都不同。我想获得一个data.frame,其格式如下:

           timestamp     index   negative  positive sentiment                
            <dttm>      <dbl>    <dbl>    <dbl>     <dbl>
         1 2015-10-29     0       27       43        16
         2 2015-10-30     0        3        2        -1
         3 2015-10-31     0       17       17         0
         4 2015-11-02     0       14        7        -7
         5 2015-11-03     0       20       60        40

有没有可能绕过这个结果?我会感激任何提示。

1 个答案:

答案 0 :(得分:1)

您可以使用aggregate()执行此操作。在此之前,您需要表明它应该根据当天排序,忽略确切的时间点。

我假设您将数据存储为df

aggregate(df[ ,2:5], FUN="sum", by=list(as.Date(df$timestamp, "%Y-%m-%d")))