Special variables in ggplot (..count.., ..density.., etc.)
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
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 (
..density.., etc.) are returned by a stat transformation of the original data set. Those particular ones are returned by
stat_bin which is implicitly called by
geom_histogram (note in the documentation that the default value of the
stat 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 with
p + geom_bar(stat="bin")
In newer versions of
ggplot2, one can also use the
stat function instead of the enclosing
aes(y = ..count..) becomes
aes(y = stat(count)).