尝试按月和年对数据进行分组,但始终收到此错误消息:
对象[[名称,精确= TRUE]]中的错误:类型为“关闭”的对象为 不可子集化
这是我的代码:
passflow %>%
group_by(txdate=floor_date(date,"month"))%>%
summarize(flows=sum(flows))
这是我的数据集:
weekday txdate flows month year
1 1 2012-01-02 24317 1 2012
2 2 2012-01-03 20116 1 2012
3 3 2012-01-04 11344 1 2012
4 4 2012-01-05 11621 1 2012
5 5 2012-01-06 18203 1 2012
6 6 2012-01-07 20430 1 2012
答案 0 :(得分:0)
用group_by
提取format
中的年份和月份。这样做的好处是可以对输出df中的格式进行更多控制(如果需要)。
passflow %>%
group_by(year = format(passflow$txdate, "%Y"), # group by year
month = format(passflow$txdate, "%B")) %>% # group by month
summarize(flows = sum(flows))
# A tibble: 2 x 3
# Groups: year [1]
year month flows
<chr> <chr> <int>
1 2012 February 38633
2 2012 January 67398
(我将一些数据移至2月进行检查)
正如divibisan指出的那样,您在操作中有一个错误:
passflow %>%
group_by(txdate=floor_date(txdate,"month"))%>%
summarize(flows=sum(flows))