为什么"重新排序"在ggplot中没有显示平均值?

时间:2015-12-28 02:30:38

标签: r ggplot2

我正在使用ggplot2示例学习mtcars

library(ggplot2)

mtcars$vs <- factor(mtcars$vs)

#it shows the mean value 
qplot(reorder(mtcars$vs, mtcars$mpg))

#it do not show the mean value, Why?
ggplot(mtcars, aes(x=reorder(vs, mpg), y=mpg, fill=vs))+
    geom_bar(stat="identity")

如何使用qplot将平均值显示为ggplot2

1 个答案:

答案 0 :(得分:1)

是什么让你认为初始情节会显示平均值?它显示了不同因子水平的计数 - 分别为18和14。它相当于:

ggplot(mtcars, aes(x=reorder(vs, mpg))) + geom_histogram().

第二个图是将每个vs值的mpg值相加。尝试:

tapply(mtcars$mpg, mtcars$vs, sum)

这些是在条形图中绘制的两个值。如果你所在的区域真的想通过vs值获得平均值,那么你应该使用:

ggplot(mtcars, aes(x=vs, y=mpg, fill=vs)) + geom_boxplot()