在lme中指定多个(单独的)随机效果[关闭]


25

我正在使用R软件包nlmelme4进行工作,试图指定具有多个随机效果的模型。我发现,只有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

我了解已经有许多与类似问题相关的问题,但我确实没有找到适合我的情况的答案。您能为我提供正确的模型规格吗?

Answers:


30

经过多番努力,我找到了解决问题的方法,如果有人有类似问题,我将在此处发布:

fit <- lme(Y ~ time, random=list(year=~1, date=~time), data=X, weights=varIdent(form=~1|year))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.