[Rd] Small modification of zip.file.extract in utils?

Martin Elff elff at sowi.uni-mannheim.de
Sat Nov 1 12:09:07 CET 2008


On Thursday 30 October 2008 (20:08:27), Jon Olav Skoien wrote:
> Dear list,
>
> I needed to extract a zip-archive, and found zip.file.extract in utils.
> My only problem was the use of tempdir(), since I wanted to permanently
> extract the archive at a fixed location for later use. My own fix was
> simple, adding an extra parameter zipdir (without default), and within
> the function change
> tmpd <- tempdir()
> to
> tmpd = ifelse(missing(zipdir),tempdir(),zipdir)
>
> This modification could maybe be useful also for other users, unless
> there are some problems I am not aware of?

I had similar problems with 'zip.file.extract' and implemented
a function 'unzip' in my package 'memisc', which also works in a way that is 
probably more comprehensible for end-users like me:

unzip                 package:memisc                 R Documentation

Extract Files from Zip Files

Description:

     'unzip' extracts a file from a zip archive and puts them into a
     directory specified by the user or into the temporary directory of
     the current session.

Usage:

     unzip(zipfile,item,
       dir=tempdir(),package=NULL)

Arguments:

 zipfile: a character string, the path to the zip file.

    item: a character string, full path (from the root of the zip file)
          to the file to extract.

     dir: path to the directory were to place the extracted file.

 package: optional package name, if given, the path to the zipfile
          starts in the package's root directory.

Examples:

     # Extract American National Election Study of 1948
     # It is item "NES1948.POR" in zip file "anes/NES1948.ZIP"
     # where this path is relative to the packages'
     # root directory.
     nes1948.por <- unzip("anes/NES1948.ZIP","NES1948.POR",
                          package="memisc")
     nes1948.por

All the best,

Martin



More information about the R-devel mailing list