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

请求绘制两类频率的堆叠条形图(附对应数据集)

分类变量的堆叠条形图绘制方案

先加载所需工具包,再将宽格式数据转换为ggplot2适配的长格式,同时处理缺失值:

# 加载tidyverse包(包含ggplot2和数据处理工具)
library(tidyverse)

# 将宽格式数据转为长格式,同时把NA替换为0
df_long <- Merchant_Category_Frequency_with_Target %>%
  pivot_longer(
    cols = starts_with("Freq"), 
    names_to = "频率类型", 
    values_to = "频次"
  ) %>%
  mutate(频次 = replace_na(频次, 0))

接下来直接用分类变量Var1绘制堆叠条形图:

ggplot(df_long, aes(x = Var1, y = 频次, fill = 频率类型)) +
  geom_bar(stat = "identity") +
  # 设置图表标签
  labs(
    title = "各商户类别合并频率分布",
    x = "商户类别",
    y = "频次",
    fill = "频率类型"
  ) +
  # 旋转x轴标签避免重叠
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

关键说明

  • 之前绘制失败的核心原因是数据格式不匹配:ggplot2更适合长格式数据,而你提供的是宽格式数据(每行对应一个类别、两个频率列),转换为长格式后就能正确识别分组。
  • 替换NA为0是为了确保所有类别都能在图表中显示,避免缺失值导致的类别遗漏。
  • 分类变量(factor类型的Var1)可直接作为ggplot的x轴变量,无需转换为数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:17:26