在nlme :: lme中没有交互作用的多重随机效应

时间:2018-09-07 09:25:01

标签: r lme4 nlme

让我们考虑由两个独立的随机效应组成的简单模型:

$$y_{ijk} = \mu + \delta1_i + \delta2_j + \epsilon_{i,j,k}$$

其中\delta1_i\delta2_j是独立的随机效应(即\delta1_i \sim N(0,\sigma_1^2) iid,\delta2_i \sim N(0,\sigma_1^2) iid都是独立的)。

使用lme4 :: lmer可以很容易地定义和推断这种模型的方差成分(很抱歉,下面的示例可能没有任何物理意义):

library(lme4)
library(nlme)
data(Orthodont,package="nlme")   

lmer(data=Orthodont,distance~1+(1|Sex)+(1|Subject))
#Linear mixed model fit by REML ['lmerMod']
#Formula: distance ~ 1 + (1 | Sex) + (1 | Subject)
#   Data: Orthodont
#REML criterion at convergence: 510.3937
#Random effects:
# Groups   Name        Std.Dev.
# Subject  (Intercept) 1.596   
# Sex      (Intercept) 1.550   
# Residual             2.220   
#Number of obs: 108, groups:  Subject, 27; Sex, 2
#Fixed Effects:
#(Intercept)  
#      23.83 

如何使用nlme :: lme轻松建模?使用随机效果列表指定随机效果会根据随机效果的顺序隐式引入交互,可以在此处进行验证(更改规格顺序,更改结果):

VarCorr(lme(data=Orthodont,distance~1,random=list(~1|Subject,~1|Sex)))
#            Variance     StdDev  
#Subject =   pdLogChol(1)         
#(Intercept) 1.875987     1.369667
#Sex =       pdLogChol(1)         
#(Intercept) 1.875987     1.369667
#Residual    4.929784     2.220312

VarCorr(lme(data=Orthodont,distance~1,random=list(~1|Sex,~1|Subject)))
#            Variance     StdDev  
#Sex =       pdLogChol(1)         
#(Intercept) 2.403699     1.550387
#Subject =   pdLogChol(1)         
#(Intercept) 2.546702     1.595839
#Residual    4.929784     2.220312

0 个答案:

没有答案