MCMCpack подавляет вывод функции MCMCmetrop1R

Функция MCMCmetrop1R имеет возможность подавлять вывод на экран с помощью параметра verbose=FALSE или verbose=0. однако это не останавливает функцию, сообщающую следующее, когда функция завершает свою работу. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@ Скорость приема Metropolis составила 0,15862 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@

Я пробовал использовать функцию invisible() вместе с функцией MEMCmetrop1R, но это не имело никакого значения. Есть ли другие предложения, чтобы отключить функцию, сообщающую о скорости приема?


person plugger    schedule 27.11.2015    source источник


Ответы (1)


Поскольку сегодня я столкнулся с той же проблемой, вот мое решение: вы можете использовать capture.output или captureOutput() из пакета R.utils. Последний считается более быстрым (см. http://www.jottr.org/2014/05/captureOutput.html).

R.utils::captureOutput(expr={
  post.sample <- MCMCmetrop1R(loglik, theta.init = c(0, 1, 1), ...)
})

Обратите внимание, что это также влияет на все остальные выходы. Итак, если вы установите verbose > 0, этого тоже не будет.

person neurotroph    schedule 16.11.2016