使用R中的三个分类变量绘制条形图

用户330

我的数据框与此类似

df<-read.table (text=" Gender   Fruit   Food
Male    Pear    Yes
Female  Pear    Yes
Male    Grape   Yes
Female  Apple   No
Male    Grape   No
Male    Pear    No
Male    Guba    Yes
Male    Grape   No
Female  Apple   No
Female  Pear    Yes
Female  Apple   Yes
Male    Guba    No
Female  Guba    No
Male    Pear    Yes
Male    Apple   Yes
Male    Pear    No
Female  Pear    Yes
Male    Guba    No

", header=TRUE)

我想获得一个像这样的条形图以及该图下的表格以显示数字:

在此处输入图片说明

在地块G,A,G,P中应显示葡萄,苹果,古巴和梨

如果可以在该图下有一个表格来查看值,那将是很好的。这已经在Excel中完成了。

亚历克斯洛克

有了ggplot你需要在每个你感兴趣的变量映射到一个审美或一个方面。所以类似的事情可能会起作用:

ggplot(df) +
  geom_bar(aes(x=Fruit, fill=Food),
           position = "dodge") +
  facet_wrap(~Gender)

带有3个变量的条形图

要添加表,您可以简单地单独计算它,然后将其转换为图形元素。

p_grph <- ggplot(df) +
  geom_bar(aes(x=Fruit, fill=Food),
           position = "dodge") +
  facet_wrap(~Gender)

p_table <- df %>%
  group_by(Gender, Fruit, Food) %>%
  summarize(count=n()) %>%
  gridExtra::tableGrob()

gridExtra::grid.arrange(p_grph, p_table)

在上方和下方绘制

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章