首页 > 解决方案 > 如何使用来自多列的数据绘制条形图

问题描述

我有一个看起来像这样的数据集

  cost issue                  disposal issue
 1 "Not aware"                "Not aware"                      
 2 "Not aware"                "Not aware"                      
 3 "Not aware"                "Not aware"                      
 4 "Not aware"                "Not aware"                      
 5 ""                         ""                               
 6 ""                         ""                               
 7 "No"                       "No"                             
 8 "No"                       "No"                             
 9 "No"                       "No"                             
10 "No"                       "No"    

我想制作这两个变量的条形图,其中仅包含“否”,如下图所示

在此处输入图像描述

如何使用 ggplot 进行过滤和绘图

标签: rggplot2

解决方案


您可以计算数据框每一列中“否”值的数量,以长格式获取数据并绘图。如果df是数据框的名称 -

library(tidyverse)

df %>%
  summarise(across(.fns = ~sum(. == 'No'))) %>%
  pivot_longer(cols = everything()) %>%
  ggplot(aes(name, value, fill = name)) + 
  geom_col() + guides(fill = "none")

推荐阅读