У меня проблемы с созданием zip-файла из R. Тот же код отлично работал при работе с R версией 3.4.2, 32-битный компьютер.
Теперь я пытаюсь запустить то же самое на 64-разрядном компьютере R версии 3.5.1, и команда zip (), похоже, не работает. Что происходит?
zip(zipfile = "test.zip",files=list.files(getwd()))
#create zip from whole directory, on 1st machine it works, now nothing happens
Я проверил исходный код zip (), и когда я его отладил, я обнаружил, что команда system2 ничего не делает.
zip <- function (zipfile, files, flags = "-r9X", extras = "", zip = Sys.getenv("R_ZIPCMD",
"zip"))
{
if (missing(flags) && (!is.character(files) || !length(files)))
stop("'files' must a character vector specifying one or more filepaths")
args <- c(flags, shQuote(path.expand(zipfile)), shQuote(files),
extras)
if (.Platform$OS.type == "windows")
invisible(system2(zip, args))
else invisible(system2(zip, args))
}
# I run this manually when trying to debug, nothing happens;
system2(zip, args) ## zip is a parameter here, not a function
####
Browse[2]> zip
[1] "zip"
Browse[2]> args
[1] "-r9X" "\"bla.zip\""
[3] "\"[Content_Types].xml\"" "\"_rels\""
[5] "\"docProps\"" "\"xl\""
[7] ""
Например, абсурдный вызов не выдает ошибку.
system2("blablađ",2) ## does nothing but no error or warning either
Я застрял, пытаясь понять, как работает функция system2 () и что мне нужно изменить, чтобы создать сжатую папку.
Спасибо
РЕДАКТИРОВАТЬ: После получения справки из комментария, я получил следующую ошибку:
Browse[2]> system2(zip, args,stderr = T)
Error in system2(zip, args, stderr = T) : '"zip"' not found
решено: после установки Rtools для версии 3.5 все заработало.