标签: r ggplot2 dplyr bar-chart reshape2
我如何按性别对下面的数据样本进行分组,并计算这些组中每个类型列的计算方法,只考虑那些大于1的值?最后,我想绘制一个横向独立的类型的条形图,每个类型都有两个对应于每个性别分类的条形图。
我知道varipus可能解决这个问题的方法,但我正在寻找一个可以直接在ggplot或其他绘图函数中执行的紧凑代码,而不是必须对数据进行预处理然后使用这些来绘制。但是,任何明智的方法都受到欢迎。
答案 0 :(得分:2)
你可以尝试:
library(tidyr) library(dplyr) library(ggplot2) df %>% gather(key, value, -Gender) %>% filter(value > 1) %>% group_by(Gender, key) %>% summarise(value = mean(value)) %>% ggplot(aes(key, value)) + geom_bar(aes(fill = Gender), position = "dodge", stat = "identity")
给出了: