2009-10-15 3 views
3

R 내에서 zip 아카이브를 만들고 최대한의 크로스 플랫폼 호환성이 필요하므로 system("zip") 명령을 사용하지 않는 것이 좋습니다.크로스 플랫폼 zip 파일 생성

utils 내에는 dounzip.c라는 파일 내에서 zlib 1.1.3에서 파생 된 [많은] C 코드를 사용하는 zip.file.extract (일명 unzip)이 있습니다. zip 파일을 만드는 비슷한 기능을 찾을 수 없습니다.

"cran create zip"또는 이와 동등한 특정 Google 검색어를 만드는 것도 까다로운 문제입니다!

또한 tar로는 충분하지 않을 것이므로 다른 비 R 도구 집합의 입력으로 사용하려면 zip을 만들어야합니다.

나는 어떤 포인터라도 고맙겠습니다.

환호, 마크

놀라운 Omega Project for Statistical Computing이 귀중한 자원입니다 평소와 같이

답변

1

! 예를 들어, 같은 뭔가 Rcompression 패키지를 살펴보고 시도 :

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

HTH

+0

안녕하세요 Paulo, 감사합니다. 내가 명확하게 말하지 않은 것은 내가 이미 존재하는 다양한 파일들로 가득 찬 디렉토리를 가지고 있다는 것입니다 ... 나는 그 파일들을 아마도 재귀 적으로 zip 아카이브로 만들 필요가 있습니다. [Rcompression] 패키지는 파일 " – drmjc

1

을 나는 명령 gzfile()는 당신이 찾고있는 것을 할 수 있습니다 생각합니다. 또한 다음 버전 2.10.0에는 관련 될 수있는 압축 기능에 대한 몇 가지 개선 사항이 있습니다. (https://svn.r-project.org/R/trunk/NEWS - svn 서버에서 인증서를 수락하도록 요청할 수 있음)

+0

감사합니다 피터, 에있는 메모리 대신 압축 및 압축 해제를위한 zlib 및 bzip2 기능에 대한 기본 인터페이스입니다. 2.10에 나오는 새로운 tar() 및 untar() 명령이 있지만 아니오 zip() !! 마크 – drmjc