Grouped Barplot,一个数值与三个因子变量

时间:2017-05-08 04:11:08

标签: r ggplot2 bar-chart

我遇到以下问题。我需要绘制3个因子变量和1个数值变量。

我的数据集:

Site,Gall,Status,Count
Site1,absent,unhealthy,35
Site1,absent,healthy,1750
Site1,present,unhealthy,23
Site1,present,healthy,1146
Site2,absent,unhealthy,146
Site2,absent,healthy,1642
Site2,present,unhealthy,30
Site2,present,healthy,333

我尝试过使用ggplot,但之后只允许我定义x,y和另外一个选项,所以我使用了fill = Gall。

我的代码如下所示,我仍然缺少一个因子变量。

ggplot(dat, aes(Status, Count, fill = Gall)) +
  geom_bar(stat = "identity", position = "dodge")

有人能帮帮我吗?

谢谢,非常感谢

1 个答案:

答案 0 :(得分:2)

有几种解决方案。如果您打算按两个因素填写,可以使用interaction

ggplot(dat, aes(Status, Count)) + 
  geom_col(aes(fill = interaction(Site, Gall)), position = "dodge")

enter image description here

总的来说,最好将分面用于多种因素。例如:

ggplot(dat, aes(Status, Count)) + 
  geom_col(aes(fill = Gall), position = "dodge") + facet_grid(Site ~ .)

enter image description here