You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按类别、周、月统计Value列滚动求和并生成两个DataFrame

解决方案

首先确保你已经安装并加载了dplyr和lubridate包,这两个工具可以高效处理日期分组与聚合操作:

library(dplyr)
library(lubridate)

1. 按周统计(标记周起始日期)

这里将每周的起始日期设为周一(可通过week_start参数调整,比如设为7则以周日为起始),按Category分组后,对同一周内的Value求和:

# 取消原始的按Date分组
df_ungrouped <- df %>% ungroup()

# 生成周统计DataFrame
weekly_df <- df_ungrouped %>%
  mutate(week_start = floor_date(Date, "week", week_start = 1)) %>%
  group_by(Category, week_start) %>%
  summarise(total_value = sum(Value, na.rm = TRUE)) %>%
  ungroup()

2. 按月统计

按月统计时,将日期截断到当月第一天,再按Category和月份分组求和:

# 生成月统计DataFrame
monthly_df <- df_ungrouped %>%
  mutate(month_start = floor_date(Date, "month")) %>%
  group_by(Category, month_start) %>%
  summarise(total_value = sum(Value, na.rm = TRUE)) %>%
  ungroup()

说明

  • floor_date()函数用于将日期向下取整到指定周期的起始点,确保同一周期内的日期都对应到同一个起始标记
  • summarise()用于对分组后的Value求和,na.rm = TRUE可处理可能存在的缺失值(无缺失值时可省略)
  • 最终的两个DataFrame会分别展示每个类别在对应周/月的总数值,结构清晰易读

内容的提问来源于stack exchange,提问作者alec22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:43:04