如何在sommer包中实现lme4包指定的含相关随机效应的等价模型?
在sommer包中指定与lme4等价的带相关随机截距和斜率的混合模型
可以在sommer包中指定和lmer(Reaction ~ Days + (Days | Subject), data = sleepstudy)完全等价的模型,关键是使用us()函数定义无结构协方差矩阵,让随机截距和斜率的效应之间保留相关性。
具体实现代码
library(sommer) # 等价于lme4中带相关随机截距和斜率的模型 model_eq <- mmer( Reaction ~ Days, random = ~ us(1 + Days, Subject), data = sleepstudy, tolParInv = 1e-6, verbose = FALSE )
说明
us(1 + Days, Subject)表示为Subject分组定义一个无结构的随机效应协方差矩阵,其中1对应随机截距,Days对应随机斜率,两者的协方差会被估计,和lme4中(Days | Subject)的协方差结构完全一致。- 而之前用
~ Subject + vsr(Days, Subject)的写法,是将截距和斜率拆分为两个独立的随机效应组,对应lme4中(0 | Subject) + (0 + Days | Subject)的无相关结构,这和目标模型的协方差结构不同。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

