変数siteによってクラスター化された時間を表す独立変数xを持つ従属変数wがあります。さらに、3 つの期間 (t1 と t2 で区切られた) に沿った 3 つの異なる期間に対応するi1、i2、i3のインジケーター変数があります。3 つの期間全体の傾向を評価する全体的な適合が必要なので、次のような線形モデル適合としての勾配推定値を使用して、非線形関数 ( L3として定義) を適合させようとしています。
L3<-function(x,alpha1,beta1,beta2,beta3) {
brk = c(t1,t2)
alpha2 <- alpha1 + beta1*brk[1]-beta2*brk[1]
alpha3 = alpha2 + beta2 * brk[2] - beta3*brk[2]
lebrk <- (x < brk[1])
gebrk <- (x > brk[2])
mdbrk <- (x > brk[1] & x < brk[2])
result <- rep(0,length(x))
result[lebrk] <- alpha1 + beta1*x[lebrk]
result[mdbrk] <- alpha2 + beta2*x[mdbrk]
result[gebrk] <- alpha3 + beta3*x[gebrk]
result
}
fit0 = lm(w ~ x + I(i2+i3)+I(x*(i2+i3))+ I(i3)+I(x*i3), data = wr_tx1)
summary(fit0)
alpha1 = fit0$coef[1]
beta1 = fit0$coef[2]
beta2 = fit0$coef[2] + fit0$coef[4]
beta3 = fit0$coef[2] + fit0$coef[4] + fit0$coef[6]
fit1 <- nls(w ~ L3(x = x, alpha1, beta1, beta2, beta3)
, data = wr_tx1
, start = list(alpha1 = alpha1, beta1 = beta1, beta2 = beta2, beta3 = beta3)
, control=nls.control(maxiter=100))
ただし、私のデータはクラスター化されているため、変数siteを使用してサイト レベルでランダム効果を含めたいと考えています。これを行うために NLME 関数を指定する方法を見つけようとしていますが、現時点では固定効果には関心がありませんが、固定効果の引数が必要なようです。別の方法として、各サイトが含まれる治療グループの固定効果変数 ( txと呼ばれる変数) を含めることもできますが、その場合でも NLME 関数を特定する方法は不明です。
固定効果を組み込むために、次のことを試しましたが、エラーが発生します。
wr$tx = as.factor(wr$tx)
fit2 = nlme(w ~ L3(x = x, alpha1, beta1, beta2, beta3)
, random = alpha1 + beta1 + beta2 + beta3 ~ 1 | site
, fixed = tx ~ 1
, data = wr
, start = list(alpha1 = alpha1, beta1 = beta1, beta2 = beta2, beta3 = beta3))
Error in nlme.formula(w ~ L3(x = x, alpha1, beta1, beta2, beta3), random = alpha1
'start' must have a component called 'fixed'
どんな助けでも大歓迎です。