Я установил summarise = TRUE
в функцию run.jags
, затем сохранил выходной объект как save(out, file="out.RData")
.резюме runjags в Linux
Когда я позже загрузить этот объект я могу получить сводки, заговоры и т.д.
Однако, когда я использую тот же код и запустить модель и сохранить вывод на кластере Linux, а затем, позднее, загрузить объект в Windows, чтобы работать с ним, резюме и графики недоступны. Когда я типа summary(out)
, print(out)
, plot(out)
или add.summaries(out)
, я получаю следующее сообщение об ошибке:
Error: Invalid runjags.object provided; the output of a runjags function (with class 'runjags') must be supplied
Это несмотря на то, class(out)
возвращает "runjags"
.
Фактически, names(out)
показывает, что резюме (и многое другое) не включены в вывод. Файл справки указывает, что резюме/графики и т. Д. Включены по умолчанию.
Есть ли что-то в том, чтобы запустить модель в Linux, которая 1) предотвращает создание сводок или 2) помещает класс выходного объекта?
Я могу, конечно, использовать пакет coda и делать out2 <- as.mcmc.list(out)
, тогда я могу использовать функцию coda для работы с выходом.
Суммы, которые производятся, не зависят от платформы, поэтому это не является конкретной проблемой перехода с одной платформы на другую. Лучше всего предположить, что версии runjags отличаются (возможно, между 1.x и 2.x) - вывод результатов с использованием 1.x, а затем загрузка их в 2.x должна поддерживаться, но другой путь вызовет такие проблемы, как вы смотри. Можете ли вы подтвердить номера версий в двух системах? Обратите внимание, что 2.0.2 был загружен в CRAN в выходные дни. –
Вы правы. У меня было 1.x на удаленной машине Linux и 2.x на локальной машине Windows. Я мог бы прочитать объект, идущий в любом случае, но объект, созданный в 1.x, каким-то образом не был распознан как «runjags» класса в «2.x». Но, в любом случае, обновление 'runjags' решило проблему - я должен был подумать об этом! Большое спасибо. –
Не беспокойтесь. Рад, что это было не что-то более серьезное :) –