lmeで複数の(個別の)ランダム効果を指定する[非公開]


25

私はRパッケージnlmeおよびlme4で作業し、複数のランダム効果を持つモデルを指定しようとしました。分散の異種構造を指定できるのはnlmeのみであることがわかりました。したがって、温度(Y)が時間(時間)に依存し、インターセプトが日付と年によって異なり、分散も年によって異なるモデルを取得しました。

fit1 <- lme(Y ~ time, random=~1|year/date, data=X, weights=varIdent(form=~1|year))

ただし、別のランダムな用語(日付によって異なる時間)を追加する必要がある場合、次のようにモデルを指定します。

fit2 <- lme(Y ~ time, random=list(~1|year, ~time-1|date,  ~1|date), data=X, 
            weights=varIdent(form=~1|year))

ランダム効果は互いに入れ子になります。年の日付。そして、日付と年の日付。

私も試しました

one  <- rep(1, length(Y))
fit3 <- lme(Y ~ time, random=list(one=pdBlocked(list(pdSymm(~1|year/date), 
            pdSymm(~time-1|year)))), data=X, weights=varIdent(form=~1|year))

ただし、エラーが発生します。

Error in pdConstruct.pdBlocked(object, form = form, nam = nam, data = data,  :
  cannot have duplicated column names in a "pdMat" object

同様の問題に関連する質問がすでに多くあることは理解していますが、私の場合の答えは本当に見つかりませんでした。モデルの適切な仕様を教えてください。

回答:


30

多くの闘争の後、私は私の問題の解決策を見つけました。誰かが同様の質問をする場合に備えて、ここに投稿しています:

fit <- lme(Y ~ time, random=list(year=~1, date=~time), data=X, weights=varIdent(form=~1|year))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.