[Rd] inflate zlib compressed data using base R or CRAN package?
Dirk Eddelbuettel
edd at debian.org
Thu Nov 28 02:22:11 CET 2013
On 27 November 2013 at 18:38, Dirk Eddelbuettel wrote:
|
| On 27 November 2013 at 23:49, Dr Gregory Jefferis wrote:
| | I have a binary file type that includes a zlib compressed data block (ie
| | not gzip). Is anyone aware of a way using base R or a CRAN package to
| | decompress this kind of data (from disk or memory). So far I have found
| | Rcompression::decompress on omegahat, but I would prefer to keep
| | dependencies on CRAN (or bioconductor). I am also trying to avoid
| | writing yet another C level interface to part of zlib.
|
| Unless I am missing something, this is in base R; see help(connections).
|
| Here is a quick demo:
|
| R> write.csv(trees, file="/tmp/trees.csv") # data we all have
| R> system("gzip -v /tmp/trees.csv") # as I am lazy here
| /tmp/trees.csv: 50.5% -- replaced with /tmp/trees.csv.gz
| R> read.csv(gzfile("/tmp/trees.csv.gz")) # works out of the box
Oh, and in case you meant zip file containing a data file, that also works.
First converting what I did last
edd at max:/tmp$ gunzip trees.csv.gz
edd at max:/tmp$ zip trees.zip trees.csv
adding: trees.csv (deflated 50%)
edd at max:/tmp$
Then reading the csv from inside the zip file:
R> read.csv(unz("/tmp/trees.zip", "trees.csv"))
X Girth Height Volume
1 1 8.3 70 10.3
2 2 8.6 65 10.3
3 3 8.8 63 10.2
4 4 10.5 72 16.4
5 5 10.7 81 18.8
6 6 10.8 83 19.7
7 7 11.0 66 15.6
8 8 11.0 75 18.2
9 9 11.1 80 22.6
10 10 11.2 75 19.9
11 11 11.3 79 24.2
12 12 11.4 76 21.0
13 13 11.4 76 21.4
14 14 11.7 69 21.3
15 15 12.0 75 19.1
16 16 12.9 74 22.2
17 17 12.9 85 33.8
18 18 13.3 86 27.4
19 19 13.7 71 25.7
20 20 13.8 64 24.9
21 21 14.0 78 34.5
22 22 14.2 80 31.7
23 23 14.5 74 36.3
24 24 16.0 72 38.3
25 25 16.3 77 42.6
26 26 17.3 81 55.4
27 27 17.5 82 55.7
28 28 17.9 80 58.3
29 29 18.0 80 51.5
30 30 18.0 80 51.0
31 31 20.6 87 77.0
R>
Regards, Dirk
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the R-devel
mailing list