Декомпрессия gz файла с использованием R

Я использовал ?unzip в прошлом, чтобы получить содержимое zipped файла, используя R. На этот раз мне трудно извлечь файлы из файла .gz, который можно найти .

Я пробовал ?gzfile и ?gzcon, но не смог заставить его работать. Любая помощь, которую вы можете предоставить, будет с благодарностью.

Ответ 1

Если вы действительно хотите распаковать файл, просто используйте функцию untar, которая поддерживает gzip. Например:.

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

Ответ 2

Вот пример, который может помочь проиллюстрировать, что gzfile() и gzcon() для

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

Теперь, когда файл написан, вместо неявного использования file(), используйте gzfile():

R> read.table(gzfile("/tmp/foo.csv.gz"))   
  a        b
1 A 0.586882
2 B 0.218608
3 C 1.290776
R> 

Файл, на который вы указываете, представляет собой сжатый tar-архив, и, насколько я знаю, R сам не имеет интерфейса с tar-архивами. Они обычно используются для распространения исходного кода - например, для R-пакетов и источников R.

Ответ 3

Чтобы отключить файл в R, вы можете сделать

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

Ответ 4

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

R добавила прозрачную декомпрессию для некоторых видов сжатых файлов в последней версии (2.10). Если ваши файлы сжаты с помощью bzip2, xvz или gzip, их можно прочитать в R, как если бы они были текстовыми файлами. У вас должны быть правильные расширения имен файлов.

Команда...

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

#gzip сжатые файлы имеют расширение "gz"

Будет работать так, как если бы "myFile.gz" был сырым текстовым файлом.