Consider the following lines.
p <- ggplot(mpg, aes(x=factor(cyl), y=..count..))
p + geom_histogram()
p + stat_summary(fun.y=identity, geom='bar')
In theory, the last two should produce the same plot. In practice, stat_summary
fails and complains that the required y aesthetic is missing.
Why can't I use ..count..
in stat_summary
? I can't find anywhere in the docs information about how to use these variables.
Expanding @joran's comment, the special variables in ggplot with double periods around them (
..count..
,..density..
, etc.) are returned by a stat transformation of the original data set. Those particular ones are returned bystat_bin
which is implicitly called bygeom_histogram
(note in the documentation that the default value of thestat
argument is"bin"
). Your second example calls a different stat function which does not create a variable named..count..
. You can get the same graph withIn newer versions of
ggplot2
, one can also use thestat
function instead of the enclosing..
, soaes(y = ..count..)
becomesaes(y = stat(count))
.