[R] using zlib (was compress data on read, decompress on write)

Ramon Diaz-Uriarte rdiaz02 at gmail.com
Fri Feb 29 19:16:52 CET 2008


Dear All,

I think I am confused about how I'd be able to use zlib starting with
R 2.7.0. I just downloaded the latest development version,   built it,
etc, but I am not able to find the zlib.h that, I believe, R should
place somewhere under "where/you/want/R/to/go" (from
--prefix=/where/you/want/R/to/go). There seem to be entry points for
zlib in the binary (e.g., grep -r gzopen ./
Binary file ./lib64/R/bin/exec/R matches; etc). What is the
appropriate way (if any) to tell my package where to look for the
R-provided zlib.h?

In addition, when searching the archives I found the message

http://finzi.psych.upenn.edu/R/R-devel/archive/27154.html

which seems to suggest that I'd be better off including my own copies
of zlib.h, although I understand that the message is not referring
explicitly to the new R 2.7.0.


Thanks,

R.







On Thu, Feb 28, 2008 at 8:53 PM, Prof Brian Ripley
<ripley at stats.ox.ac.uk> wrote:
> One solution is likely to be the Omegahat package Rcompression.
>
>  Otherwise, R does have internal facilities to do internal (gzip)
>  compression and decompression (e.g. see the end of
>  src/main/connections.c), and you could make creative use of serialization
>  to do the compression.
>
>
>  On Thu, 28 Feb 2008, Ramon Diaz-Uriarte wrote:
>
>  > Dear All,
>  >
>  > I'd like to be able to have R store (in a list component) a compressed
>  > data set, and then write it out uncompressed. gzcon and gzfile work in
>  > exactly the opposite direction. What would be a good way to handle
>  > this?
>  >
>  > Details:
>  > ----------
>  >
>  > We have a package that uses C; part of the C output is a large sparse
>  > matrix. This is never manipulated directly by R, but always by the C
>  > code. However, we need to store that data somewhere (inside an R
>  > object) for further calls to the functions in our package. We'd like
>  > to store that matrix as part of the R object (say, as an element of a
>  > list). Ideally, it would be stored in as compressed a way as possible.
>  > Then, when we need to use that information, it would be decompressed
>  > and passed to the C function.
>  >
>  > I guess one way to do it is to have C deal with the compression and
>  > uncompression (e.g., using zlib or the bzip2 libraries) and then use
>  > readBin, etc, from R. But, if I can, I'd like to avoid our C code
>  > having to call zlib, etc, so as to make our package easily portable.
>
>  As from R 2.7.0 you will be able to make use of zlib on effectively all
>  platforms, since it has a public interface on Windows.
>
>
>
>  >
>  > Thanks,
>  >
>  > R.
>  >
>  > --
>  > Ramon Diaz-Uriarte
>  > Statistical Computing Team
>  > Structural Biology and Biocomputing Programme
>  > Spanish National Cancer Centre (CNIO)
>  > http://ligarto.org/rdiaz
>
>  --
>  Brian D. Ripley,                  ripley at stats.ox.ac.uk
>  Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>  University of Oxford,             Tel:  +44 1865 272861 (self)
>  1 South Parks Road,                     +44 1865 272866 (PA)
>  Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>



-- 
Ramon Diaz-Uriarte
Statistical Computing Team
Structural Biology and Biocomputing Programme
Spanish National Cancer Centre (CNIO)
http://ligarto.org/rdiaz



More information about the R-help mailing list