我?unzip
过去用过来使用R来获取压缩文件的内容.这次,我很难从.gz文件中提取文件,可以在这里找到.
我已经尝试过?gzfile
,?gzcon
但却无法让它发挥作用.我们将非常感谢您提供的任何帮助.
Dir*_*tel 63
这是一个有用的例子,可以帮助说明什么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
Run Code Online (Sandbox Code Playgroud)
既然已经编写了文件,而不是隐式使用file()
,请使用gzfile()
:
read.table(gzfile("/tmp/foo.csv.gz"))
# a b
#1 A 0.586882
#2 B 0.218608
#3 C 1.290776
Run Code Online (Sandbox Code Playgroud)
你指向的文件是一个压缩的tar档案,据我所知,R本身没有tar档案的界面.这些通常用于分发源代码 - 例如R包和R源.
Rob*_*ans 34
要在R中取消gz文件,你可以这样做
library(R.utils)
gunzip("file.gz", remove=FALSE)
Run Code Online (Sandbox Code Playgroud)
dar*_*zig 29
如果你真的想要解压缩文件,只需使用untar
支持gzip的功能.例如:
untar('chadwick-0.5.3.tar.gz')
Run Code Online (Sandbox Code Playgroud)
WCC*_*WCC 20
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')
Run Code Online (Sandbox Code Playgroud)
#gzip压缩文件的扩展名为"gz"
就像'myFile.gz'是原始文本文件一样工作.