如何将此lme(nlme)代码转换为lmer(lme4)?

时间:2019-04-18 22:15:04

标签: r lme4 nlme

我正在nlme软件包中使用lme函数拟合半参数模型。我在将其转换为lmer(nlme4)时遇到麻烦。

我的代码的主要问题是我在随机效果的规范中依赖pdIdent和pdSymm。我找不到如何将其转换为lmer的代码。

我的nlme代码如下。 Z.spline是25 x 25样条曲线的bausis矩阵,而indic是1的列。我的数据(dat2)为长格式,每个人都有25个观察值。 frac是范围从1到5的变量,对观察进行排序。 rs445925是一个SNP,是一个取3个值的因子变量。 density是连续的。

Z.spline<-outer(frac,knots,"-")
Z.spline<-Z.spline*(Z.spline>0) 
dat2$Z.spline <- do.call(rbind, replicate(n, Z.spline, simplify=FALSE)) 

fit <-lme(density~ frac * rs445925,
      random=list(indic=pdIdent(~Z.spline-1),FID=pdSymm(~1)),
      data=dat2,method="ML",control=lmeControl(returnObject=TRUE))

我认为模型的第一部分将转换为lmer代码,如下所示:

fit2 <- lmer(density ~ frac * rs445925 + (1|FID) + ....

包含样条曲线基础的模型的pdIdent部分给了我很多思路,我无法将其转换为lmer代码。

0 个答案:

没有答案