Как запретить модулю оптимизатора в lme4 изменять глобальные переменные?

Я использую lmer4 проверить процедуру начальной загрузки.

Я надеялся воспользоваться его модульной структурой, изменив только некоторую часть выходных данных первого модуля (lFormula функция).

Однако функция оптимизатора, похоже, изменяет вывод lFormula функция, и я не могу повторно использовать первый модуль в.

Как предотвратить это?

Если это невозможно, то почему и как это работает?

library(lme4)
parsedFormula <-lFormula(formula = Reaction ~Days + (Days | Subject), data = sleepstudy)
parsedFormula0 <- parsedFormula
devianceFunction <- do.call(mkLmerDevfun, parsedFormula)

## Initiale value of theta
parsedFormula$reTrms$theta

optimizerOutput <- optimizeLmer(devianceFunction)

## the optimizer of lme4 changed the parseFormula object and its copy
parsedFormula$reTrms$theta
parsedFormula0$reTrms$theta

0 ответов

Другие вопросы по тегам