1

非線形混合効果モデルを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]))

モデルがより複雑になるにつれて、開始値に前の近似の係数を使用するという考え方です。私は以前にこれを成功させましたが、完全には理解していません。「固定コンポーネントの開始値が正しい長さではありません」というエラーメッセージが頻繁に表示されます。エラーメッセージが表示されなくなるまで、長さをいじくり回すのに多くの時間を費やします。

最初から正しい長さを知る方法を誰かに説明してもらえますか?

データを添付しないで申し訳ありませんが、これを実行するには、いくつかの長いカスタム関数も必要になります。

4

1 に答える 1

2

使用できるトリックはlm、を同じ固定項に適合させ、coefの数を数えることです。

temp<-length(coef(lm(w.max ~ trt + ground,data)))
fit.nlme4 <- update(fit.nlme.10, fixed = list(w.max ~ trt + ground, t.e + t.m ~ 1),
                start = c(cfs[1], rep(0,temp-1), cfs[2:3]))
于 2013-04-29T07:48:08.103 に答える