Uso de ggplot () dentro de otra función en R
Estoy tratando de escribir una función de trazado simple, usando la biblioteca ggplot2. Pero la llamada a ggplot no encuentra el argumento de la función.
Considerar adata.frame
llamadomeans
que almacena dos condiciones y dos valores medios que quiero trazar (la condición aparecerá en el eje X, significa en el Y).
library(ggplot2)
m <- c(13.8, 14.8)
cond <- c(1, 2)
means <- data.frame(means=m, condition=cond)
means
# The output should be:
# means condition
# 1 13.8 1
# 2 14.8 2
testplot <- function(meansdf)
{
p <- ggplot(meansdf, aes(fill=meansdf$condition, y=meansdf$means, x = meansdf$condition))
p + geom_bar(position="dodge", stat="identity")
}
testplot(means)
# This will output the following error:
# Error in eval(expr, envir, enclos) : object 'meansdf' not found
Entonces parece que ggplot está llamando aeval
, que no puede encontrar el argumentomeansdf
. ¿Alguien sabe cómo puedo pasar con éxito el argumento de la función a ggplot?
(Nota: Sí, podría llamar directamente a la función ggplot, ¡pero al final espero hacer que mi función de trazado haga cosas más complicadas! :))