利用した ?unzip
を使用して、Rを使用して圧縮ファイルの内容を取得します。今回は、.gzファイルからファイルを抽出するのに苦労しています here 。
私が試してみました ?gzfile
および?gzcon
しかし、機能させることができていません。あなたが提供できる助けは大歓迎です。
ファイルを本当に解凍したい場合は、gzipをサポートするuntar
関数を使用してください。例えば。:
untar('chadwick-0.5.3.tar.gz')
gzfile()
とgzcon()
が何のためにあるかを説明するのに役立つかもしれない実例はここにあります
_foo <- data.frame(a=LETTERS[1:3], b=rnorm(3))
foo
# a b
#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
_
ファイルが作成されたので、file()
を暗黙的に使用する代わりに、gzfile()
を使用します。
_read.table(gzfile("/tmp/foo.csv.gz"))
# a b
#1 A 0.586882
#2 B 0.218608
#3 C 1.290776
_
あなたがポイントするファイルは圧縮されたtarアーカイブであり、私が知る限り、R自体にはtarアーカイブへのインターフェースがありません。これらは、たとえばRパッケージやRソースなど、ソースコードを配布するためによく使用されます。
Rでファイルをgz解除するには
library(R.utils)
gunzip("file.gz", remove=FALSE)
または
gunzip("file.gz")
しかし、その後、出力ファイルが完全に作成されて閉じられた後に入力ファイルが削除されるデフォルト(remove = TRUE)の動作を取得します。
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」が未加工のテキストファイルであるかのように動作します。