[Rd] Functions that write functions in R packages
hadley wickham
h.wickham at gmail.com
Fri Feb 23 17:05:01 CET 2007
Dear all,
Another question related to my ggplot package: I have made some
substantial changes to the backend of my package so that plot objects
can now describe themselves much better. A consequence of this is
that a number of convenience functions that previously I wrote by
hand, can now be written automatically. What is the best practice for
creating these functions for bundling in a package? I see three
possible solutions:
* dump function specifications out to a .r file
* dynamically create at package build time so they are including in
the package rdata file
* dynamically create at package load time
Can anyone offer any advice as to which is preferable? (or if there's
a better way I haven't thought of)
My code currently looks like this (experimenting with two ways of
creating the functions)
create_accessors <- function(objects, name, short=NULL) {
lapply(objects, function(x) {
assign(paste(name, x$objname, sep="_"), x$new, pos=globalenv())
if (!is.null(short)) {
eval(
substitute(
f <- function(plot, ...) plot + add(...),
list(
add = as.name(paste(name, x$objname, sep="_")),
f = as.name(paste(short, x$objname, sep=""))
)
), envir = globalenv()
)
}
})
}
Thanks,
Hadley
More information about the R-devel
mailing list