Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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中的堆叠条形图_R_Ggplot2 - Fatal编程技术网

R中的堆叠条形图

R中的堆叠条形图,r,ggplot2,R,Ggplot2,我有一个像这样的数据集 我想绘制一个堆叠的条形图,其中X表示会话,Y表示缺席,并且呈现一个堆叠的条形图。如何在ggplot()中执行此操作在R中请查看如何提问以及如何提供数据/示例。如果我们准备好了所有的信息,人们就可以更容易地帮助你 数据 我使用您的一些数据生成了一个表: library(tidyverse) df <- tribble(~absent, ~present, ~total, ~session, 15,8,3,'s1', 12,11,23

我有一个像这样的数据集


我想绘制一个堆叠的条形图,其中X表示会话,Y表示缺席,并且呈现一个堆叠的条形图。如何在
ggplot()
中执行此操作在
R

中请查看如何提问以及如何提供数据/示例。如果我们准备好了所有的信息,人们就可以更容易地帮助你

数据 我使用您的一些数据生成了一个表:

library(tidyverse)

df <- tribble(~absent, ~present, ~total, ~session,
        15,8,3,'s1',
        12,11,23,'s2',
        12,10,23,'s4',
        14,9,23,'s5',
        18,5,23,'s6',
        17,6,23,'s7')
这将按如下方式排列您的数据:

   total session key     value
   <dbl> <chr>   <chr>   <dbl>
 1    3. s1      absent    15.
 2   23. s2      absent    12.
 3   23. s4      absent    12.
 4   23. s5      absent    14.
 5   23. s6      absent    18.
 6   23. s7      absent    17.
 7    3. s1      present    8.
 8   23. s2      present   11.
 9   23. s4      present   10.
10   23. s5      present    9.
11   23. s6      present    5.
12   23. s7      present    6.

您的代码尝试在哪里?欢迎使用stackoverflow。请参阅
ggplot
文档。请尽可能少地尝试解决您的问题…很抱歉,我尝试了各种方法,例如
p
   total session key     value
   <dbl> <chr>   <chr>   <dbl>
 1    3. s1      absent    15.
 2   23. s2      absent    12.
 3   23. s4      absent    12.
 4   23. s5      absent    14.
 5   23. s6      absent    18.
 6   23. s7      absent    17.
 7    3. s1      present    8.
 8   23. s2      present   11.
 9   23. s4      present   10.
10   23. s5      present    9.
11   23. s6      present    5.
12   23. s7      present    6.
  ggplot(df, aes(x = session, y = value)) +
  geom_col(aes(fill = key))