Re: [R] Creating a minimal package

From: Uwe Ligges <ligges_at_statistik.uni-dortmund.de>
Date: Mon 12 Jul 2004 - 23:14:27 EST

Gabor Grothendieck wrote:

> 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.

>

OK, I understand what you are going to do, but in that case you can use dump() into an *.R or save() into an *.RData file and use source()/load() to load it again. I don't see any advantage of a package if you don't want to modify documentation or other stuff in the package. Also, you would need the tools to make a binary package from the source package somewhere. package.skeleton() is clearly not intended to be used for that purpose, but to create the template for your source package. Hence the default should not be changed.

Uwe Ligges



R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Mon Jul 12 23:22:43 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 02:35:36 EST