Теперь я использую rcppbugs для оптимизации параметров экосистемной модели. Ситуация заключается в том, что мои наблюдаемые данные представляют собой очень длинные временные ряды, и для этого требуется не менее 10 000 итераций. Поскольку run.model()
выводит расчетные значения (здесь y.hat) в каждый момент времени, это вызывает большие проблемы, например:R rcppbugs: как отключить вывод оценочных значений
List of 6
$ factor1 : num [1:2] 0.921 0.921
$ factor2 : num [1:2] 2 2
$ factor3 : num [1:2] 0.954 0.954
$ tau.y : num [1:2] 0.17 0.17
$ y.hat : num [1:2, 1:70176] 0.139 0.139 0.138 0.138 0.136 ...
$ y.lik : NULL
- attr(*, "acceptance.ratio")= num 0
Очевидно, что трудно сохранить y.hat каждый раз, но пока мне нужно запишите все значения factor1, factor2 и factor3. Может ли кто-нибудь помочь? Благодарю.
Я не вижу никаких выражений 'message',' print' или 'cat', что означает, что печатает код на C++. Пробовали ли вы 'capture.output()' для подавления вывода? –
Спасибо, Роман. Он работает в R, но все же y.hat будет выводиться в коде C++. Интересно, будет ли это иметь какое-либо влияние. Моя память составляет 4 ГБ, поэтому, если я повторю эту модель на 10 000 раз, произойдет сбой кода на C++? Я пытаюсь пересмотреть исходный код на C++, но это занимает довольно много времени. – user2597889
'capture.output' будет только« подавлять »печать. Все вычисления все еще выполняются и возвращаются к переменной, которую вы используете для сохранения результата. Я не знаком с этим проектом, и я не могу сказать о том, как будет выглядеть код на C++. –