Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R x轴上下计数的堆叠条形图?_R_Ggplot2 - Fatal编程技术网

R x轴上下计数的堆叠条形图?

R x轴上下计数的堆叠条形图?,r,ggplot2,R,Ggplot2,我有一个包含多个类别的大型数据集,以及一个带有值YES和NO的decider列。我想绘制一个堆叠条形图,其中decider列将结果堆叠在x轴上方表示YES值,堆叠在x轴下方表示NO。我如何做到这一点 我在下面做了一个模型,展示了我想要的东西。请注意,所有类别都可以有“是”和“否”值 您可以使用dplyr将“是”值转换为正计数,将“否”值转换为负计数,然后使用堆叠几何图形 您没有提供任何示例数据,因此我为以下reprex做了一些补充: 第69集 df Var1 Var2 YesNo >1 D 1是

我有一个包含多个类别的大型数据集,以及一个带有值YES和NO的decider列。我想绘制一个堆叠条形图,其中decider列将结果堆叠在x轴上方表示YES值,堆叠在x轴下方表示NO。我如何做到这一点

我在下面做了一个模型,展示了我想要的东西。请注意,所有类别都可以有“是”和“否”值

您可以使用dplyr将“是”值转换为正计数,将“否”值转换为负计数,然后使用堆叠几何图形

您没有提供任何示例数据,因此我为以下reprex做了一些补充:

第69集 df Var1 Var2 YesNo >1 D 1是的 >2 C 3号 >三维6是的 >4 B 3是的 >5 E 1号 >6b1是的 数据操作和绘图如下所示:

library(dplyr)
library(ggplot2)

df %>% 
  group_by(Var1, Var2) %>% 
  summarize(Yes = sum(YesNo == "Yes"), No = -sum(YesNo == "No")) %>%
  ggplot(aes(x = Var2, y = Yes, fill = Var1)) + 
    geom_col(position = "stack") +
    geom_col(aes(y = No), position = "stack") +
    geom_hline(aes(yintercept = 0)) + 
    labs(y = paste("No", "Yes", sep = paste(rep(" ", 20), collapse = " ")))

由v0.3.0于2020年5月14日创建

您是否可以更新可复制的样本和代码(如果您尝试过的话)?