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

如何将每日抗生素使用数据按年度季度聚合绘制柱状图?

按年度季度聚合抗生素使用数据并绘制柱状图的解决方案

嘿,刚接触R就能自己处理日期并绘图已经很棒啦!我来帮你搞定按年度季度聚合数据的问题,用dplyr和lubridate这两个包就能轻松实现,步骤很清晰:

1. 准备所需的R包

首先我们需要安装并加载几个实用的包:dplyr用于数据聚合,lubridate简化日期处理,ggplot2用来绘图(你已经在用啦):

# 第一次使用时先安装包
install.packages(c("dplyr", "lubridate", "ggplot2"))

# 加载包
library(dplyr)
library(lubridate)
library(ggplot2)

2. 数据预处理与季度聚合

先把你转换好的日期列添加回数据框,然后提取年份和季度信息,最后按年度季度分组计算总使用量:

# 读取数据并转换日期(和你之前的代码一致,这里把日期列整合到数据框里)
data001 <- read.csv("001.csv")
data001$date <- as.Date(data001$Date, "%d/%m/%Y")

# 添加年份、季度以及合并后的年度季度标签(比如"2013 Q2")
data001 <- data001 %>%
  mutate(
    year = year(date),
    quarter = quarter(date),
    year_quarter = paste(year, "Q", quarter, sep = "")
  )

# 按年度季度分组,计算每个季度的抗生素总使用量
quarterly_data <- data001 %>%
  group_by(year_quarter) %>%
  summarise(total_antibiotic = sum(Antibiotic.Total, na.rm = TRUE)) %>%
  # 将季度标签转为因子并按原始顺序排列,避免绘图时x轴顺序混乱
  mutate(year_quarter = factor(year_quarter, levels = unique(year_quarter)))

这里na.rm = TRUE是为了忽略可能存在的缺失值,确保求和结果正常。

3. 绘制季度总用量柱状图

现在用聚合好的数据绘制柱状图,还可以调整x轴标签的角度避免重叠:

ggplot(quarterly_data, aes(x = year_quarter, y = total_antibiotic)) +
  geom_bar(stat = "identity", fill = "steelblue3") +
  labs(
    x = "年度季度",
    y = "抗生素总使用量(克)",
    title = "各年度季度抗生素总使用量"
  ) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) # 旋转x轴标签,提升可读性

这样你就能得到每个柱子对应一个年度季度总用量的柱状图啦,如果还有其他问题随时问~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:00:31