更新时间:2023-01-28 16:49:32
plot <- ggplot(data = data, aes(x = group, y = score)) +
stat_summary(fun.y = "sum", geom = "bar", position = "identity")
plot
aggregate(score ~ group, data=data, FUN=sum)
# group score
#1 1 51.71279
#2 2 58.94611
#3 3 67.52100
#4 4 39.24484
Edit:
stat_sum
does not work, because it doesn't just return the sum. It returns the "number of observations at position" and "percent of points in that panel at that position". It was designed for a different purpose. The docs say " Useful for overplotting on scatterplots."
stat_identity
(kind of) works because geom_bar
by default stacks the bars. You have many bars on top of each other in contrast to my solution that gives you just one bar per group. Look at this:
plot <- ggplot(data = data, aes(x = group, y = score)) +
geom_bar(stat="identity", color = "red")
plot
Also consider the warning:
Warning message:
Stacking not well defined when ymin != 0