tutorial - superponer graficas en r ggplot
Cómo usar las variables declaradas anteriormente dentro de aes en ggplot con operadores especiales(..count.., etc.) (1)
Parece que hay algún error con la función ggplot()
cuando usas algunas stat
para trazar (por ejemplo y=..count..
). La función ggplot()
ya tiene environment
variable de environment
, por lo que puede usar una variable definida fuera de esta función.
Por ejemplo, esto funcionará porque k
se usa solo para cambiar la variable x
:
k<-5
ggplot(dframe,aes(val/k,y=..count..))+geom_bar()
Esto dará un error porque k
se usa para cambiar y
que se calcula con stat y=..count..
k<-5
ggplot(dframe,aes(val,y=..count../k))+geom_bar()
Error in eval(expr, envir, enclos) : object ''k'' not found
Para resolver este problema puedes k
kinar dentro de aes()
.
k <- 5
ggplot(dframe,aes(val,k=k,y=..count../k))+geom_bar()
Digamos que quiero trazar un histograma con la siguiente fórmula (sé que no es la mejor, pero ilustrará el problema):
set.seed(1)
dframe <- data.frame(val=rnorm(50))
p <- ggplot(dframe, aes(x=val, y=..count..))
p + geom_bar()
Funciona bien Sin embargo, digamos que queremos, por alguna razón, frecuencias divididas por un número definido por el cliente. Mi tiro sería:
k <- 5
p <- ggplot(dframe, aes(x=val, y=..count../k))
p + geom_bar()
Sin embargo me sale este molesto error:
Error in eval(expr, envir, enclos) : object ''k'' not found
¿Existe una forma de usar ambas variables similares a ..count..
con algunas predefinidas?