Я управляю несколькими отчетами Excel и использую R для предварительной обработки и написания выходного отчета. Это здорово, потому что все, что мне нужно сделать, это запустить функцию R и раздать отчеты, а остальная часть написания отчета — это неактивное время. Отчеты должны быть в формате Excel, потому что его проще всего распространять, а аудитория большая и нетехническая. После предварительной обработки данных я делаю это очень просто, используя XLConnect:
file.copy(from = template,
to = newFileName)
writeWorksheetToFile(file = newFileName,
data = newData,
sheet = "Data",
clearSheets = T)
Однако один из моих отчетов начал выдавать эту ошибку, когда я попытался записать новые данные:
Error in ls(envir = envir, all.names = private) :
invalid 'envir' argument
Кроме того, прежде чем выдать ошибку, функция привязывает R на 15 минут. Обычное время записи составляет менее 10 секунд. Должен признаться, я даже не понимаю, что означает эта ошибка, и она не поддалась моим обычным методам отладки или любому другому решению SO.
Я заметил, что другие ссылались на rJava (переустановка этого пакета не сработала) и на кэш файлов журналов Java (не уверен, где он будет расположен на Mac). Я особенно сбит с толку, поскольку отчет работал без проблем всего днем ранее с использованием точно такого же процесса, И мои другие отчеты, использующие точно такой же процесс, все еще работают нормально.
Я не обновлял Java, R или свою ОС, не отлаживал и не переписывал код R. Итак, начнем с самого начала - как я могу исследовать эту ошибку "envir"? Что бы вы сделали, если бы были на моем месте? Я работаю над этим пару дней, и я в тупике.
Я рад предоставить дополнительную информацию, если она предоставит лучший контекст для более проницательных программистов, чем я :)