46

考虑以下几行。

p <- ggplot(mpg, aes(x=factor(cyl), y=..count..))

p + geom_histogram()   
p + stat_summary(fun.y=identity, geom='bar')

理论上,最后两个应该产生相同的情节。在实践中,stat_summary失败并抱怨缺少所需的 y 美学。

为什么我不能使用..count..in stat_summary?我在文档信息中找不到有关如何使用这些变量的任何地方。

4

1 回答 1

57

扩展@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)).

于 2013-01-28T20:49:45.230 回答