2015-03-04 8 views
3

Мне нужно распаковать архивы zip и rar, также это должно быть многоплатформенное решение.Распаковать архивы rar в R

В R вы можете распаковать ZIP легко с помощью команды

unzip(filename, exdir=‘’) 

Но я обнаружил, что я не могу распаковать RAR файлы таким образом. На OS XI может просто открыть архив, чтобы распаковать его, если я Unarchiver настроен таким образом:

system(paste("open", path)) 

Я гугле, может быть установлено, что 7zip и не распаковывать с консоли, так что я пытался installr пакет для Windows,

require(installr) 
install.7zip() 
system(paste("7z x", path)) 

, но я получаю предупреждение и ничего не происходит

running command '7z x 1.rar’ had status 127 

и терминальную команду для Unix

system('sudo apt-get install p7zip-rar') 
system(paste("7z x ", path)) 

но возвратил ошибку с Судо

sudo: no tty present and no askpass program specified 

ответ

1

Для поддержки распаковки RAR архивов на любой платформе вашего собственного приложения я предлагаю интегрировать исходный UnRAR кода в приложение. Исходный код написан на C++. Поэтому вам нужно будет скомпилировать этот исходный код для всех платформ с помощью компилятора C++ и добавить сгенерированное приложение в ваш пакет приложений R.

Ну, есть бесплатная UnRAR для Windows (x86 и x64), Linux, Mac OS X и других операционных систем для различных процессоров на WinRAR and RAR archiver addons странице. Таким образом, вы можете создать также пакет с вашим R-приложением и подходящим UnRAR для каждой платформы, которую вы хотите поддержать.

1

Вы можете просто запустить

sudo apt-get install p7zip-rar 

в терминале, то есть ошибка, потому что в rstudio, вы не можете быть запрошен пароль.