我完全不知道这个——我在和"行人"玩。数据集来自tsibble
。我想知道每个月/年的总金额。我首先添加一个month_year
列,然后使用sum对数据进行汇总,如下所示:
library("tidyverse")
library("tsibble")
df1 <- pedestrian
df1$month_year <- format(as.Date(df1$Date), "%Y-%m")
count_all <- df1 %>%
dplyr::group_by(month_year) %>%
dplyr::summarise(total = sum(Count))
count_all的总结如下:
month_year Date_Time total
Length:17542 Min. :2015-01-01 00:00:00.0 Min. : 12
Class :character 1st Qu.:2015-07-02 17:15:00.0 1st Qu.: 349
Mode :character Median :2016-01-01 11:30:00.0 Median : 2090
Mean :2016-01-01 11:44:40.2 Mean : 2593
3rd Qu.:2016-07-02 04:45:00.0 3rd Qu.: 4455
Max. :2016-12-31 23:00:00.0 Max. :15990
为什么保留Date_Time
?以及如何防止它影响摘要(例如,防止它给出17,542行而不是预期的24行)。如果我像这样删除摘要前面的列:
df1$Date_Time <- NULL
然后它工作正常,结果的摘要如下所示:
month_year total
Length:24 Min. :1148276
Class :character 1st Qu.:1756898
Mode :character Median :1927154
Mean :1895161
3rd Qu.:2066043
Max. :2393675
这个解决方案很好,但是我想知道问题的原因是什么,这样我就可以在将来避免它(这次很容易发现问题,但可能并不总是那么直接)。
提前感谢您的帮助!
数据集pedestrian
是一个以sensor为键,Date_Time为索引的表。对表进行的任何操作都将保留该索引。您可以通过转换回标题来删除索引。
pedestrian %>%
as_tibble() %>%
mutate(ym = yearmonth(Date)) %>%
dplyr::group_by(ym) %>%
dplyr::summarise(total = sum(Count))