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

如何基于空白与N/A总数重排ggplot堆叠柱状图的列

解决ggplot堆叠柱状图列重排序问题
  • 问题核心:你想用空白和'N/A'的总数对堆叠柱状图的x轴列排序,但reorder(Column, NA_blank_Count)未生效,原因大概率是quality_melted为长格式数据,NA_blank_Count这个汇总值没有对应到每一行数据。

  • 具体解决步骤:

    1. 先从长格式数据中计算每列的空白+N/A总数,生成汇总表:
      # 假设variable列包含空白和'N/A'对应的类别(如"Blank"、"N/A")
      total_counts <- quality_melted %>%
        filter(variable %in% c("Blank", "N/A")) %>%
        group_by(Column) %>%
        summarise(NA_blank_Count = sum(value))
      
    2. 将原数据与汇总表合并,让每一行都带上对应列的总数:
      quality_melted <- quality_melted %>%
        left_join(total_counts, by = "Column")
      
    3. 在ggplot中使用reorder指定排序依据,若需倒序则添加负号:
      ggplot(quality_melted, aes(x = reorder(Column, NA_blank_Count), y = value, fill = variable)) +
        geom_bar(stat = "identity") +
        theme_minimal() +
        theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
        labs(title = "Data Quality Inspection: Blanks and 'N/A' Responses",
             x = "Columns",
             y = "Count")
      
    4. 若要按总数从高到低排序,将reorder部分改为reorder(Column, -NA_blank_Count)即可。
  • 额外检查点:如果NA_blank_Count是已计算好的列仍未生效,确认该列是否为数值类型,以及合并时Column列的匹配是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 03:43:13