Dear R experts--- after many years, I am planning to give in and write my first R package. I want to combine my collection of collected useful utility routines.
as my guide, I am planning to use Friedrich Leisch's "Creating R Packages: A Tutorial" from Sep 2009. Is there a newer or better tutorial? this one is 4 years old. I also plan on one change---given that the package.skeleton() function writes all the individual man[ual] functions, I am thinking it would be a good idea to put the doc and the R code together in the same file, one for each function. Interestingly enough, the code is by default in the \examples{} section, so I am thinking of writing a perl program that takes every .Rd file and writes the function into the R/ directory, overwriting anything else that is already there. this way, I maintain only one file for each function, and the docs and code are together. sort of like knuth's literate programming and the numerical-recipees approach to keeping each function in its own file with equal name. I believe my "try-out and debug cycle" will then be $ cd iaw ## the package name and top directory is iaw $ perl weaveall.pl ## extract all man/*.Rd files code examples and place them in R/ $ R CMD INSTALL iaw $ R CMD check iaw good idea? bad idea? common? uncommon? I do not understand the namespace mechanism yet. I understand the NAMESPACE file, and I think this lists the routines that become visible when a later program of mine contains 'library(iaw)'. I think I want to explicitly declare what packages are actually imported. ?importIntoEnv tells me that it is not intended to be used. how can another program declare exactly what functions it wants to import? (frankly, I would love to turn all default autovivification off in my program, but that's not possible.) /iaw ---- Ivo Welch (ivo.we...@gmail.com) ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.