31 votos

Especificar múltiples efectos aleatorios (independientes) en lme

Yo estaba trabajando en R paquetes nlme y lme4, tratando de especificar los modelos con múltiples efectos aleatorios. He encontrado, que sólo nlme permite especificar la estructura heterogénea de la varianza. Por lo tanto, tengo un modelo, donde la temperatura (Y) depende del tiempo (en horas), interceptar varía según la fecha y el año, y la varianza también varía por año:

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

Sin embargo, si tengo que añadir otro al azar plazo (variable de tiempo por fecha), y especificar el modelo como este:

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

el de efectos aleatorios, se vuelven a anidar en cada uno de los otros: la fecha en el año; y, a continuación, fecha en la fecha y en el año.

También probé

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

pero da un error:

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

Yo entiendo que no, ya han sido muchas las preguntas relacionadas con el problema similar, pero yo realmente no encontrar la respuesta para mi caso. Me podrían ayudar con la especificación correcta del modelo?

45voto

Slava Puntos 96

Después de muchas luchas he encontrado una solución para mi problema, que estoy publicando aquí por si alguien tiene preguntas similares:

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

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X