请考虑以下几行。
p <- ggplot(mpg, aes(x=factor(cyl), y=..count..))
p + geom_histogram()
p + stat_summary(fun.y=identity, geom='bar')
理论上,最后两个应该产生相同的情节。在实践中,stat_summary
失败并抱怨所需的美学缺失。
为什么我不能在..count..
中使用stat_summary
?我在文档中找不到关于如何使用这些变量的信息。
答案 0 :(得分:38)
扩展@joran的注释,ggplot中具有双周期(..count..
,..density..
等)的特殊变量由原始数据集的统计变换返回。这些特定的由stat_bin
返回,由geom_histogram
隐式调用(在文档中注意stat
参数的默认值为"bin"
)。您的第二个示例调用不同的stat函数,该函数不会创建名为..count..
的变量。您可以使用
p + geom_bar(stat="bin")
在较新版本的ggplot2
中,还可以使用stat
函数代替封闭..
,因此aes(y = ..count..)
变为aes(y = stat(count))
。