Спасибо за ваш ответ. Я попробую это.

нтересно, можно ли создать zip-файл из папок. У меня есть одна папка, и в этих папках есть четыре папки, и там, есть различные виды файлов. Теперь я хочу рекурсивно сжать эти четыре папки с их файлами.

Я пыталсяsave() а такжеgzip() но они не делают то, что я хочу.

Есть кто-то намек на меня?

Ответы на вопрос(3)

Решение Вопроса

Rcompression пакет в Omegahat может сделать это. Вот минимальный пример:

d <- "C:/my_data"
files <- list.files(d, recursive=TRUE)
zip("myarchive.zip", files=paste(d, files, sep="/"), altNames=files)

Видеть?zip для большего количества примеров.

 Sarah West10 янв. 2011 г., 13:30
Этот пример помог мне в основном в моем случае. Спасибо!
 Sarah West07 янв. 2011 г., 15:36
Спасибо за ваш ответ. Я попробую это.
 Karsten W.25 янв. 2012 г., 22:20
также есть функция base :: zip, которая является оболочкой для внешней команды zip
 Richie Cotton10 янв. 2011 г., 15:03
использованиеfile.path скорее, чемpaste(..., sep = "/").
 user13147625 июл. 2013 г., 15:39
Для функции base :: zip необходимо установить R_ZIPCMD в ОС Linux. В окнах это не нужно. Что нужно учитывать при кроссплатформенной разработке

сжатый tar-файл также хорош.

tarfile <- 'newfile.tgz'
tar(tarfile,'/path/of/dir/to/tar/up',compression='gzip')
 Gavin Simpson07 янв. 2011 г., 17:12
+1 Я не думал, что это даже возможно в R!
 Jeff07 янв. 2011 г., 16:32
Я забыл упомянуть, что tar также кроссплатформенный.
 Sarah West07 янв. 2011 г., 17:56
Спасибо за Ваш ответ. Звучит хорошо, но в моем случае мне нужен .zip. Но я учту это :)

odfWeave пакет.

Если вы загрузите библиотеку и наберете odfWeave, вы получите исходный код, который не слишком длинный и реализует архивирование и разархивирование также с помощью системных вызовов.

Из этих источников вы можете сделать что-то вроде:

filename = '' # set archive filename
loc = ''      # set location, if not done before
setwd(loc)
zipCmd = paste("zip -r ", filename, " .", sep='')
system(zipCmd, invisible = TRUE) 

Конечно, почтовый индекс должен быть установлен.

 Sarah West07 янв. 2011 г., 14:38
Спасибо за ваш ответ. Я попробую это.

Ваш ответ на вопрос