我以前使用?unzip
來使用R獲取壓縮文件的內容。這段時間,我很難從.gz文件中提取文件,該文件可以從here中找到。使用R解壓縮gz文件
我試過?gzfile
和?gzcon
,但一直沒有得到它的工作。任何幫助你可以提供將不勝感激。
我以前使用?unzip
來使用R獲取壓縮文件的內容。這段時間,我很難從.gz文件中提取文件,該文件可以從here中找到。使用R解壓縮gz文件
我試過?gzfile
和?gzcon
,但一直沒有得到它的工作。任何幫助你可以提供將不勝感激。
如果你真的想解壓縮文件,只需使用untar
功能,不支持gzip的。 例如爲:
untar('chadwick-0.5.3.tar.gz')
這裏是一個工作的例子,可以幫助說明什麼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源。
http://blog.revolutionanalytics.com/2009/12/r-tip-save-time-and-space-by-compressing-data-files.html
ř加入透明減壓某些種壓縮文件中的最新版本(2.10)。如果您使用bzip2,xvz或gzip壓縮文件,則可以將它們讀入R,就像它們是純文本文件一樣。你應該有適當的文件擴展名。
命令
myData <- read.table('myFile.gz')
#gzip壓縮文件有一個 「GZ」 擴展
將工作就像 'myFile.gz' 中的原始文本文件。
除非指定colClasses參數,否則它可以工作。如果你添加 myData < - read.table('myFile.gz',colClasses = c(「character」,「integer」)) 然後你會得到一個錯誤(從R 3.2.0開始)。廢話。 – Met 2015-06-12 16:58:51
要取消GZ R中一個文件,你可以做
library(R.utils)
gunzip("file.gz")
那就是我在找的東西。注意:'注意:默認的(remove = TRUE)行爲是在輸出文件被完全創建並關閉之後,輸入文件被刪除。「 - 見'?gunzip' – Rentrop 2016-12-27 10:33:50
哇,這似乎是錯誤的。 – wordsforthewise 2017-03-01 22:51:58
是否有可能與'FREAD {data.table}'這樣做呢?我到目前爲止嘗試沒有成功 – 2016-04-25 22:38:31
我不這麼認爲。檢查'fread'文檔。 – 2016-04-26 00:51:40
'fread(paste0(「zcat <」,PATH_TO_FILE))' – 2016-06-10 15:55:21