Должен быть менее неуклюжий способ суммирования средних значений в гистограмме. Я ожидал, что заполнение вернет среднее значение для всех подсчетов. Смотрите MWE, включая обходной путь.
# Some data
Machine <- c( "A", "B", "B", "B", "B", "C","D", "E", "F", "G", "H", "I", "J", "K", "G","H", "G")
Efficiency <- c(93.3, 95.0, 95.0, 99.1, 84.1, 95.8, 91.2, 82.9, 73.1, 93.7, 86.6, 68.1, 78.5, 68.5, 86.6, 90.0, 97.3)
gt <- data.frame(Machine, Efficiency)
ggplot(gt, aes(x=Machine, fill = Efficiency)) + geom_bar()
# This is not what I expected so...
library(dplyr)
gt2 <- gt %>% group_by(Machine) %>% mutate(mean(Efficiency))
names(gt2) <- c("Machine", "Efficiency", "Mean_Efficiency")
ggplot(gt2, aes(x=Machine, fill = Mean_Efficiency)) +
geom_bar(stat = "count")
# This is what I want (and mistakenly expected)
Есть ли более элегантный способ окрашивания полос в соответствии со средней эффективностью?