Как запретить модулю оптимизатора в 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