[R-es] ggplot dentro de una función

Carlos J. Gil Bellosta cgb en datanalytics.com
Vie Abr 28 23:51:03 CEST 2017


Usa aes_string en lugar de aes. Mira la documentación.

2017-04-28 23:39 GMT+02:00 Rubén Coca <ruben.coca en gmail.com>:

> Hola a todos,
> Partiendo de:
>
> library(ggplot2); library(data.table)
>
> datos <- data.table(Date = seq.Date(as.Date("2017-01-01"),
>                                  as.Date("2017-01-10"),
>                                  by = "day"),
>                  V1 = rnorm(10),
>                  V2 = rnorm(10))
>
> Quiero crear una función para pintar un gráfico cuyos argumentos sean el
> data table y la variable a pintar en el eje de las x. Se me ocurre ésta:
>
> grafico <- function(dt, varx) {
>   ggplot(dt, aes(x = Date, y = varx)) +
>     geom_point()
>   ## un montón de código de configuración del gráfico, etc
> }
>
> grafico(datos, V1)
>
> Pero ggplot dice que no encuentra V1...
> Error in eval(expr, envir, enclos) : object 'V1' not found
> In addition: Warning message:
> In eval(expr, envir, enclos) : restarting interrupted promise evaluation
>
> Alguna sugerencia o nuevo enfoque?
> Muchas gracias
>
> Rubén
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es