È possibile creare un file zip con la funzione zip
dal pacchetto utils
abbastanza facilmente. Diciamo che avete una directory testDir
e si desidera comprimere un file (o più file) all'interno della directory,
dir('testDir')
# [1] "cats.csv" "test.csv" "txt.txt"
zip(zipfile = 'testZip', files = 'testDir/test.csv')
# adding: testDir/test.csv (deflated 68%)
Il file compresso viene salvato nella directory di lavoro corrente, a meno che un percorso diverso è specificato nell'argomento zipfile
. Possiamo vedere la sua dimensione relativa al file decompresso originale con
file.info(c('testZip.zip', 'testDir/test.csv'))['size']
# size
# testZip.zip 805
# testDir/test.csv 1493
È possibile comprimere l'intera directory di file (se sotto-cartelle) con
files2zip <- dir('testDir', full.names = TRUE)
zip(zipfile = 'testZip', files = files2zip)
# updating: testDir/test.csv (deflated 68%)
# updating: testDir/cats.csv (deflated 27%)
# updating: testDir/txt.txt (stored 0%)
E unzip
di esso per visualizzare i file,
unzip('testZip.zip', list = TRUE)
# Name Length Date
# 1 testDir/test.csv 1493 2014-05-14 20:54:00
# 2 testDir/cats.csv 116 2014-05-14 20:54:00
# 3 testDir/txt.txt 32 2014-05-08 09:37:00
Nota: Da ?zip
, per quanto riguarda l'argomento zip
.
Su Windows, il predefinito si basa su un programma zip (ad esempio quello di Rtools) che si trova nel percorso.
fonte
2014-05-15 03:59:34
è possibile chiamare comandi di sistema da r. anche '? tar' sarebbe più facile. Non vedo perché tu abbia bisogno di un pacchetto per fare questo – rawr
@rawr, non è una piattaforma facile. – jdharrison
oh. stai lavorando su una piattaforma non windows, unix o mac? – rawr