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

如何合并多个箱线图?基于年龄分组的性别支出差异可视化需求

整合年龄组男女支出箱线图的解决方案

嘿,我来帮你搞定这个整合箱线图的问题!你现在分开绘制每个年龄组的图确实没法直观对比,咱们可以通过先创建统一的年龄分组变量,再用这个变量生成整合后的箱线图,轻松把所有组放在同一画布上对比。

第一步:修正分组逻辑并创建分组变量

你原来的分组规则有重叠(比如Age>45会包含45-55和>55的人群),这会导致数据统计错误。先修正分组逻辑,再给数据集新增一个Age_Group变量:

# 加载需要的包
library(dplyr)
library(ggplot2)

# 读取数据(如果还没读入的话)
Adv_data <- read.csv("Adv.csv")

# 创建无重叠的年龄分组变量
Adv_data <- Adv_data %>%
  mutate(Age_Group = case_when(
    Age < 25 ~ "Age <25",
    Age >= 25 & Age < 45 ~ "Age 25-44",
    Age >= 45 & Age < 55 ~ "Age 45-54",
    Age >= 55 ~ "Age >=55"
  ))

第二步:绘制整合后的箱线图

用新的Age_Group作为x轴,就能把所有年龄组的箱线图放在同一图中,同时按Gender区分颜色:

ggplot(Adv_data, aes(x = Age_Group, y = AveMonthSpend, color = Gender)) +
  geom_boxplot(width = 0.7) + # 调整箱线宽度让图更美观
  labs(
    title = "Monthly Spend Difference by Age Group & Gender",
    x = "Age Group",
    y = "Average Monthly Spend",
    color = "Gender"
  ) +
  theme_bw() # 用简洁的主题,也可以换成theme_minimal()

为什么这样做更合理?

  • 避免了重复统计重叠分组的问题,保证数据准确性
  • 所有年龄组在同一坐标系下,能直接对比组内男女支出差异和不同年龄组的整体支出趋势
  • 代码更简洁,后续调整分组或样式也更方便

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:24:52