我对此完全不知所措——我正在玩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
这个解决方案很好,但是我想知道问题的原因是什么,这样我就可以在将来避免它(这次很容易发现问题,但可能并不总是那么直截了当)。
提前感谢您的帮助!
数据集行人
是一个以传感器为键,Date_Time为索引的tsibble。您对tsibble执行的任何操作都将保留索引。您可以通过转换回tibble来删除索引。
pedestrian %>%
as_tibble() %>%
mutate(ym = yearmonth(Date)) %>%
dplyr::group_by(ym) %>%
dplyr::summarise(total = sum(Count))