2009-10-15 80 views
3

我想从R内创建zip压缩文件,并且需要最大的跨平台兼容性,所以我不希望使用system("zip")命令。跨平台的zip文件创建

在utils中有zip.file.extract(又名unzip),它使用[很多] c代码,从zlib 1.1.3派生出来,名为dounzip.c。我找不到任何类似的创建zip文件的功能。

构建一个特定的谷歌查询“cran创建zip”或等价物也很棘手!另外,一个tar是不够的,我需要创建zip作为另一组非R工具的输入。

我会很欣赏任何指针?

欢呼声, 标记

回答

1

像往常一样惊人Omega Project for Statistical Computing是一种宝贵的资源!看看在Rcompression包和尝试,例如,像这样:

?gzip  
txt <- paste(rep("This is a string", 40), collapse = "\n") 
v <- gzip(txt)) 
writeBin(v, "test.txt.zip") 

HTH

+0

hi Paulo, 谢谢,接近我需要的东西。 我没有说清楚的是,我有一个目录已经存在的各种文件...我需要把它们,可能递归到一个zip档案...从我可以告诉:“This [Rcompression]包是zlib和bzip2工具的基本接口,用于压缩和解压内存中的数据而不是文件“ – drmjc 2009-10-22 06:09:21

1

我觉得命令gzfile()也可以做你要找的东西。另外请注意,在即将推出的2.10.0版本中,可能有一些相关的压缩功能的增强功能。 (请参阅https://svn.r-project.org/R/trunk/NEWS - svn服务器可能会要求您接受证书)

+0

感谢Peter, 在2.10中有一个新的tar()和untar()命令,但没有压缩() !! 马克 – drmjc 2009-10-22 06:10:02