[R-pkg-devel] Using ggplot2 within another package
Paul SAVARY
p@u|@@@v@ry @end|ng |rom un|v-|comte@|r
Thu Apr 22 22:34:33 CEST 2021
Hi Kevin,
I was faced to the same problem and I used 'aes_string()' instead of 'aes()'. You can then just write the name of the columns containing the data to plot as character strings.
Example:
myPlot <- function(myData, ...) {
# get ready
ggplot(myData, aes_string(x = "myX", y = "myY")) +
# add my decorations
theme_bw()
}
It is probably already the case for your function but you need to include #' @import ggplot2 in your function preamble (if I am not wrong).
Kind regards
Paul
----- Mail original -----
De: "Kevin R. Coombes" <kevin.r.coombes using gmail.com>
À: "r-package-devel" <r-package-devel using r-project.org>
Envoyé: Jeudi 22 Avril 2021 22:28:55
Objet: [R-pkg-devel] Using ggplot2 within another package
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
More information about the R-package-devel
mailing list