[R] load data for mypkg-Ex.R

Thomas Lumley tlumley at u.washington.edu
Fri Feb 27 19:20:50 CET 2004


On Fri, 27 Feb 2004, Jason Sinnwell wrote:

> Using R 1.7.1 in Solaris
>
> I'm developing a package for both Splus and R, and I'm trying to use all the
> same files for R and Splus, both function files and help files.  I have two
> questions.
>
> 1) The file made by R CMD check to run .Rd-examples posts examples from files in
> alphabetical order.  Is it okay/recommended/common-practice to set up all the
> example data in the first two (alphabetically-sorted) examples and assume that
> data exists for the rest of the examples?

No.  In fact, it is specifically disallowed.

> 2)  Since data() is not understood by Splus, I don't want to put a
> 	     > data(example.data)
> in the sgml file because then the Splus example would not run as data() doesn't
> exist there.  Is there a spot I can make sure this data is loaded when running
> the examples, but not to load the data every time you load the library, as it
> would take up unnecessary space.  It is a ~~220 x 25 data.frame, is that enough
> size to worry about this?

I wouldn't think it was big enough to worry seriously about

> I'm considering using the NAMESPACE or .First.lib() within zzz.R but that would
> load the data every time the library is loaded.  Also considering something
> like:
> >if (<check for R using is.R()>)
> >  data(example.data)
> > <run example>
>
> In the example but that would create confusion for users.

You could define a function

if (is.R())
  setupData<-data
else
  setupData<-function(...) invisible(NULL)

and then use setupData() instead of data(), or you could look at what MASS
does using delay() to autoload data as needed.


	-thomas




More information about the R-help mailing list