Décompresser le fichier gz en utilisant R

J’ai déjà utilisé ?unzip dans le passé pour obtenir le contenu d’un fichier zippé en utilisant R. Cette fois-ci, j’ai du mal à extraire les fichiers d’un fichier .gz que vous pouvez trouver ici .

J’ai essayé ?gzfile et ?gzcon mais ?gzcon n’ai pas réussi à le faire fonctionner. Toute aide que vous pouvez fournir sera grandement appréciée.

Si vous voulez vraiment décompresser le fichier, utilisez simplement la fonction untar qui supporte gzip . Par exemple:

 untar('chadwick-0.5.3.tar.gz') 

Voici un exemple gzfile() qui peut aider à illustrer à quoi gzfile() et gzcon()

 foo <- data.frame(a=LETTERS[1:3], b=rnorm(3)) foo # ab #1 A 0.586882 #2 B 0.218608 #3 C 1.290776 write.table(foo, file="/tmp/foo.csv") system("gzip /tmp/foo.csv") # being very explicit 

Maintenant que le fichier est écrit, au lieu d'utiliser implicitement le file() , utilisez gzfile() :

 read.table(gzfile("/tmp/foo.csv.gz")) # ab #1 A 0.586882 #2 B 0.218608 #3 C 1.290776 

Le fichier que vous pointez est une archive tar compressée, et pour autant que je sache, R lui-même n'a pas d'interface avec les archives tar. Celles-ci sont couramment utilisées pour dissortingbuer le code source - comme par exemple pour les packages R et les sources R.

Pour supprimer un fichier dans R, vous pouvez le faire

 library(R.utils) gunzip("file.gz") 

http://blog.revolutionanalytics.com/2009/12/r-tip-save-time-and-space-by-compressing-data-files.html

R a ajouté une décompression transparente pour certains types de fichiers compressés dans la dernière version (2.10). Si vos fichiers sont compressés avec bzip2, xvz ou gzip, ils peuvent être lus dans R comme s’ils sont des fichiers texte. Vous devriez avoir les extensions de nom de fichier appropriées.

La commande…

 myData <- read.table('myFile.gz') 

Les fichiers compressés #gzip ont une extension "gz"

Travaillera comme si «myFile.gz» était le fichier texte brut.