答案 0 :(得分:1)
请查看如何提出有关SO的问题以及如何提供数据/示例。如果我们准备好了所有信息,那么人们可以更轻松地帮助您。
我使用你的一些数据制作了一张表:
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')
在制作图表方面,首先您需要调用gather
来整理数据,以便将当前/不存在的变量传递给fill
中的ggplot
方法。< / p>
gather(df, key, value, -total, -session)
这样可以安排您的数据:
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
创建一个包含以下内容的柱形图:
ggplot(df, aes(x = session, y = value)) +
geom_col(aes(fill = key))