It seems that there is some bug with ggplot()
function when you use some stat
for plotting (for example y=..count..
). Function ggplot()
has already environment
variable and so it can use variable defined outside this function.
For example this will work because k
is used only to change x
variable:
k<-5
ggplot(dframe,aes(val/k,y=..count..))+geom_bar()
This will give an error because k
is used to change y
that is calculated with stat y=..count..
k<-5
ggplot(dframe,aes(val,y=..count../k))+geom_bar()
Error in eval(expr, envir, enclos) : object 'k' not found
To solve this problem you can kefine k
inside the aes()
.
k <- 5
ggplot(dframe,aes(val,k=k,y=..count../k))+geom_bar()
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…