[R] Re: New package: g.data

Duncan Temple Lang
Tue, 04 Dec 2001 23:12:31 -0000

Hi David.

 The idea of your package is very nice. It is something that I have
been thinking about, and generally accessing data from sources other
than R, including different formats, different applications
(databases, Java, Perl, Python, etc.)  and so on.

 I am sorry I didn't see follow up on your original post because I
might have been able to make your life simpler.  As of today, I
committed code to allow one to extend the way R resolves variables in
the search path. This is now in the R-1.4.0 code base which will be
released in 2 weeks time.

I created a package - RObjectTables - that exploits this change to the
way R looks for data in elements of the search path. This allows one
to define a class of search path element much like what you have done
and have R query it using functions. The package is available
at
  http://www.omegahat.org/RObjectTables
and will be moved into the R source after the upcoming release.

I believe it will allow your code to avoid the g.data.save() and also
for users to use a regular attach() call.  In this sense, it would be
nice to have a single interface that we can extend.

If you have any interest in using this, I'd be happy to help.

Thanks for the good work.
 D.

David Brahm wrote:
>
> A new package "g.data" is available on CRAN, to create and
maintain databases
> that work more like the S-Plus model.
>
> Here's the official Description for g.data (v1.2):
>   Create and maintain delayed-data packages (DDP's).  Data stored in
>   a DDP are available on demand, but do not take up memory until requested.
>   You attach a DDP with g.data.attach(), then read from it and assign to it
in
>   a manner similar to S-Plus, except that you must run g.data.save() to
>   actually commit to disk.
>
> Here's a very abbreviated (Unix) example:
>   g.data.attach("/tmp/mydir")             # Open package:mydir in
pos=2
>   assign("x1", matrix(1, 1000, 1000), 2)  # Put data there
>   g.data.save()                           # Commit to disk
>   detach(2)                               # Detach package:mydir
>   g.data.attach("/tmp/mydir")             # Re-attach it, no
resources used
>   dim(x1)                                 # x1 is loaded only when needed!
>   find("x1")                              # It still lives in
package:mydir
>
> g.data is the end result of my post "Reading and writing to S-like
databases",
> sent to R-help on Sep 28, 2001.  Thanks to all who responded, especially
> Dr. Agustin Lobo <alobo at ija.csic.es> and (by reference) Ray
Brownrigg
> <Ray.Brownrigg at mcs.vuw.ac.nz>, who suggested using delay(); Martin
Maechler
> <maechler at stat.math.ethz.ch>, Thomas Lumley <tlumley at
u.washington.edu>, Brian
> D. Ripley <ripley at stats.ox.ac.uk>, and Peter Dalgaard
> <p.dalgaard at biostat.ku.dk>, who helped me with platform
independence issues;
> and Kurt Hornik <Kurt.Hornik at ci.tuwien.ac.at>, who cleaned it up
for CRAN.
>
> I have one concern: g.data relies heavily on delay(), whose documentation
says:
>   This is an experimental feature and its addition is purely for
>   evaluation purposes.
> Is there any plan to deprecate delay()?
>
> Feedback is welcome!
> --
>                               -- David Brahm (brahm at alum.mit.edu)
>
>
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-announce mailing list -- Read
http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !)  To: r-announce-request at
stat.math.ethz.ch
>
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._

--
_______________________________________________________________

Duncan Temple Lang                duncan at research.bell-labs.com
Bell Labs, Lucent Technologies    office: (908)582-3217
700 Mountain Avenue, Room 2C-259  fax:    (908)582-3340
Murray Hill, NJ  07974-2070
         http://cm.bell-labs.com/stat/duncan
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at
stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._