2009-10-15 13 views
3

Je voudrais créer une archive zip à partir de R, et avoir besoin d'une compatibilité multiplate-forme maximale, donc je préférerais ne pas utiliser une commande system("zip").création de fichier zip multiplate-forme

Dans les utils il y a zip.file.extract (alias unzip), qui utilise [beaucoup] de code c, dérivé de zlib 1.1.3 dans un fichier appelé dounzip.c Je n'ai pas trouvé de fonctionnalités similaires pour créer des fichiers zip.

Il est également difficile de créer une requête google spécifique pour "cran create zip" ou équivalent!

En outre, un tar ne suffira pas, j'ai besoin de créer des fichiers zip à utiliser comme entrée pour un autre ensemble d'outils non-R.

J'apprécierais des pointeurs?

acclamations, marque

Répondre

1

Comme d'habitude le Omega Project for Statistical Computing incroyable est une ressource précieuse! Jetez un oeil à l'ensemble Rcompression et essayer, par exemple, quelque chose comme:

?gzip  
txt <- paste(rep("This is a string", 40), collapse = "\n") 
v <- gzip(txt)) 
writeBin(v, "test.txt.zip") 

HTH

+0

salut Paulo, merci, cela se rapproche de ce dont j'ai besoin. Ce que je n'ai pas dit clairement est que j'ai un répertoire plein de divers fichiers qui existent déjà ... Je dois ensuite les transformer, peut-être récursivement dans une archive zip ... d'après ce que je peux dire: "Ceci [Rcompression] package est une interface de base pour les facilités zlib et bzip2 pour compresser et décompresser les données qui sont en mémoire plutôt que dans les fichiers " – drmjc

1

Je pense que la commande gzfile() peut aussi faire ce que vous cherchez. Notez également que dans la prochaine version 2.10.0, certaines améliorations des fonctions de compression peuvent être pertinentes. (voir https://svn.r-project.org/R/trunk/NEWS - le serveur svn peut vous demander d'accepter un certificat)

+0

merci Peter, il y a une nouvelle commande tar() et untar() venant en 2.10, mais pas Zip *: français() !! marque – drmjc

Questions connexes