2015-09-15 10 views
0

Я установил 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 для работы с выходом.

+0

Суммы, которые производятся, не зависят от платформы, поэтому это не является конкретной проблемой перехода с одной платформы на другую. Лучше всего предположить, что версии runjags отличаются (возможно, между 1.x и 2.x) - вывод результатов с использованием 1.x, а затем загрузка их в 2.x должна поддерживаться, но другой путь вызовет такие проблемы, как вы смотри. Можете ли вы подтвердить номера версий в двух системах? Обратите внимание, что 2.0.2 был загружен в CRAN в выходные дни. –

+0

Вы правы. У меня было 1.x на удаленной машине Linux и 2.x на локальной машине Windows. Я мог бы прочитать объект, идущий в любом случае, но объект, созданный в 1.x, каким-то образом не был распознан как «runjags» класса в «2.x». Но, в любом случае, обновление 'runjags' решило проблему - я должен был подумать об этом! Большое спасибо. –

+0

Не беспокойтесь. Рад, что это было не что-то более серьезное :) –

ответ

0

Проблема была не в Linux (см. Комментарий Мэтта Денвуда), но старая версия runjags. Я обновил runjags на машине Linux (ну, у меня был системный администратор), и это устранило проблему.