[R] Creating a minimal package

Gabor Grothendieck ggrothendieck at myway.com
Mon Jul 12 13:30:24 CEST 2004


Uwe Ligges <ligges <at> statistik.uni-dortmund.de> writes:

: 
: Gabor Grothendieck wrote:
: 
: > Duncan Murdoch <dmurdoch <at> pair.com> writes:
: > 
: > : On Sun, 11 Jul 2004 21:28:44 +0000 (UTC), Gabor Grothendieck
: > : <ggrothendieck <at> myway.com> wrote:
: > : 
: > 
: > : >1. when I run skeleton.package realize that I must use the arg
: > : >   path = "library"
: > : >   The example that is shown there appears to omit that.
: > : 
: > : The default is to put it in the current directory.  The assumption is
: > : that you started R where you want to work, or have switched to that
: > : directory later.  This is usually true for Unix users, but generally
: > : not for Windows users.
: > : 
: > : I'm not sure what sort of change to make here.  path = "library"
: > : (literally) won't usually work, because it won't try to create the
: > : directory.  Suggestion?
: > 
: > Perhaps we could use:
: > 
: >    path = .libPaths()[[1]]
: > 
: > as the default value of path in package.skeleton.
: 
: Actually, that's a bad idea, because you don't want a source package in 
: your binary library tree.
: I'm really happy with the default and the documentation which tells us 
: about the "path" argument. Most (all?) functions I know do write to the 
: current working directory. You do not want another default for 
: write.table() et al. to write the data to, do you?

The objective should be that creating a package is as easy as this:

   f <- function()1; g <- function()2; d <- 3; e <- 4:5
   package.skeleton(list=c("f","g","d","e"), name="AnExample")
   library(AnExample)
   f()
   
which means that the package needs to be inserted where library will
find it. It should not be necessary to have an understanding of this.




More information about the R-help mailing list