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

在R语言中按时间段汇总列值:按月/季度/年度统计成本总和

在R语言中按时间段统计总成本的实现方案

前提说明

原始数据存在两个问题:日期格式不统一(混合使用-和/分隔符)、成本列带$符号,需要先完成数据清洗,再进行分组统计。以下基于tidyverse生态(包含dplyr用于分组、lubridate用于日期处理)实现需求。


1. 数据准备与清洗

先模拟并清洗数据(若已有数据框,直接从清洗步骤开始):

# 安装并加载必要包(首次使用需安装)
# install.packages("tidyverse")
library(tidyverse)

# 模拟原始数据
raw_df <- tibble(
  Date = c("1-1-22", "1/1/22", "1/1/22", "2/5-22", "2/5/22", "3/5/22", "3/7/22", "12/12/22"),
  Cost = c("$5", "$10", "$8", "$9", "$10", "$5", "$10", "$15") # 将$X替换为实际数值
)

# 清洗数据:转换日期格式、提取数值型成本
clean_df <- raw_df %>%
  # 自动识别日-月-年格式(兼容-和/分隔符)
  mutate(Date = lubridate::dmy(Date),
         # 移除$符号并转为数值
         Cost = as.numeric(stringr::str_remove(Cost, "\\$"))) %>%
  # 过滤缺失值(若存在无效Cost)
  drop_na(Cost)

2. 按月统计总成本

两种格式化方式可选,按需使用:

# 方式1:保留日期格式的月初时间
monthly_total <- clean_df %>%
  mutate(Month = lubridate::floor_date(Date, "month")) %>%
  group_by(Month) %>%
  summarise(Total_Cost = sum(Cost)) %>%
  ungroup()

# 方式2:格式化为"年-月"文本(更直观)
monthly_total <- clean_df %>%
  mutate(Month = format(Date, "%Y-%m")) %>%
  group_by(Month) %>%
  summarise(Total_Cost = sum(Cost)) %>%
  ungroup()

print(monthly_total)

3. 按季度统计总成本

同样提供两种格式化方式:

# 方式1:保留日期格式的季度起始时间
quarterly_total <- clean_df %>%
  mutate(Quarter = lubridate::floor_date(Date, "quarter")) %>%
  group_by(Quarter) %>%
  summarise(Total_Cost = sum(Cost)) %>%
  ungroup()

# 方式2:格式化为"年-Q季度"文本
quarterly_total <- clean_df %>%
  mutate(Quarter = paste0(lubridate::year(Date), "-Q", lubridate::quarter(Date))) %>%
  group_by(Quarter) %>%
  summarise(Total_Cost = sum(Cost)) %>%
  ungroup()

print(quarterly_total)

4. 按年度统计总成本

直接按年份分组求和:

annual_total <- clean_df %>%
  mutate(Year = lubridate::year(Date)) %>%
  group_by(Year) %>%
  summarise(Total_Cost = sum(Cost)) %>%
  ungroup()

print(annual_total)

注意事项

  • 若原始日期为月-日-年格式(如1/1/22是1月1日还是1月22日),需将dmy()替换为mdy()
  • 若存在大量非标准日期格式,可尝试parse_date_time(Date, c("dmy", "mdy"))自动匹配多格式
  • 若$X代表缺失值,可保留NA并在求和时使用sum(Cost, na.rm = TRUE)忽略缺失值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:01:08