我正在尝试在 R 中拟合非线性混合效应模型。我正在逐步执行此操作,以便更轻松地找到模型的起始值。它看起来像这样:
fit.nlme.10<-nlme(fit.beta.10, random=pdDiag(w.max ~1))
cfs <- fixef(fit.nlme.10)
fit.nlme2 <- update(fit.nlme.10, fixed = list(w.max ~ trt, t.e + t.m ~ 1),
start = c(cfs[1], rep(0,2), cfs[2:3]))
cfsT <- fixef(fit.nlme2)
fit.nlme3 <- update(fit.nlme.10, fixed = list(w.max ~ ground, t.e + t.m ~ 1),
start = c(cfs[1], rep(0,1), cfs[2:3]))
cfsG <- fixef(fit.nlme3)
fit.nlme4 <- update(fit.nlme.10, fixed = list(w.max ~ trt + ground, t.e + t.m ~ 1),
start = c(cfsT2[1:3], cfsG2[1:2], cfs[2:3]))
这个想法是随着模型变得更加复杂,使用先前拟合的系数作为起始值。我以前成功地做到了这一点,但从未完全理解它。我经常收到错误消息“固定组件的起始值不是正确的长度”。我花了很多时间玩弄长度,直到不再出现错误消息。
谁能向我解释我如何从一开始就知道正确的长度是多少?
很抱歉没有附加数据,但要运行它,您还需要一些冗长的自定义函数。