Specificare più effetti casuali (separati) in lme [chiuso]


25

Stavo lavorando nei pacchetti R nlme e lme4 , cercando di specificare i modelli con molteplici effetti casuali. Ho scoperto che solo nlme consente di specificare la struttura eterogenea della varianza. Pertanto, ho ottenuto un modello in cui la temperatura (Y) dipende dal tempo (in ore), l'intercettazione varia in base alla data e all'anno e anche la varianza varia in base all'anno:

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

Tuttavia, se devo aggiungere un altro termine casuale (il tempo varia in base alla data) e specificare il modello in questo modo:

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

gli effetti casuali si annidano l'uno nell'altro: data nell'anno; e quindi data in data e in anno.

Ho anche provato

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))

ma dà un errore:

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

Capisco che ci sono già state molte domande relative al problema simile, ma in realtà non ho trovato la risposta al mio caso. Potresti aiutarmi con le giuste specifiche del modello?

Risposte:


30

Dopo molte lotte ho trovato una soluzione al mio problema, che sto postando qui nel caso qualcuno avesse domande simili:

fit <- lme(Y ~ time, random=list(year=~1, date=~time), data=X, weights=varIdent(form=~1|year))
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.