[R-pkg-devel] Using ggplot2 within another package
Tiago Olivoto
t|@goo||voto @end|ng |rom gm@||@com
Fri Apr 23 17:13:44 CEST 2021
Hi everyone,
One suggestion would be import ggplot2 and using tidy eval operators to
create a function. One simple reproducible example would be
library(ggplot2)
my_hist <- function(df, var){
ggplot(df, aes({{var}})) +
geom_histogram()
}
df <- data.frame(my_var = rnorm(400, 10, 2))
my_hist(df = df, var = my_var)
All the best
Tiago
Em sex., 23 de abr. de 2021 às 09:04, Mike Collyer <mlcollyer using gmail.com>
escreveu:
> Hi Kevin,
>
> I recently developed a plot function in a package that used ggplot and ran
> into the same problem. I overcame the problem with a first line of
> (useless) code as
>
> myX <- myY <- NULL
>
> I found the solution inelegant but it worked.
>
> cheers!
> Mike
>
> > On Apr 22, 2021, at 4:28 PM, Kevin R. Coombes <kevin.r.coombes using gmail.com>
> wrote:
> >
> > Hi,
> >
> > I'm trying to help clean up an R package for someone else to submit to
> CRAN. He has used ggplot2 to implement a plotting function for the kinds of
> things that his packages generates. His plotting routine basically looks
> like (after changing names to protect the innocent):
> >
> > myPlot <- fucntion(myData, ...) {
> > # get ready
> > ggplot(myData, aes(x = myX, y = myY)) +
> > # add my decorations
> > theme_bw()
> > }
> >
> > Of course, "R CMD check --as-cran" complains that there is no global
> binding for "myX" or "myY" since they are columns defined in the data.frame
> "myData".
> >
> > What is the best way to work around this issue?
> >
> > Of course, dinosaurs like myself might be tempted to suggest just using
> plain old "plot", so I don't need to see those suggestions.
> >
> > Do I just ignore the usual ggplot conventions and write "myData$myX"
> inside "aes" in order to appease the CRAN checker? Or is there some
> tidy-er way to solve this problem?
> >
> > Thanks,
> > Kevin
> >
> > ______________________________________________
> > R-package-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
[[alternative HTML version deleted]]
More information about the R-package-devel
mailing list