Converting Repeated Measures mixed model formula from SAS to R

前端 未结 2 799
失恋的感觉
失恋的感觉 2020-12-24 10:01

There are several questions and posts about mixed models for more complex experimental designs, so I thought this more simple model would help other beginners in this proces

2条回答
  •  甜味超标
    2020-12-24 10:40

    Please try below:

    model1 <- lme(
      Y ~ GROUP + X1,
      random = ~ GROUP | person,
      correlation = corCompSymm(form = ~ day | person),
      na.action = na.exclude, data = df1, method = "REML"
    )
    summary(model1)
    

    I think random = ~ groupvar | subjvar option with R lme provides similar result of repeated / subject = subjvar group = groupvar option with SAS/MIXED in this case.

    Edit:

    SAS/MIXED

    SAS/MIXED covariance matrix

    R (a revised model2)

    model2 <- lme(
      Y ~ GROUP + X1,
      random = list(person = pdDiag(form = ~ GROUP - 1)),
      correlation = corCompSymm(form = ~ day | person),
      weights = varIdent(form = ~ 1 | GROUP),
      na.action = na.exclude, data = df1, method = "REML"
    )
    summary(model2)
    

    R covariance matrix

    So, I think these covariance structures are very similar (σg1 = τg2 + σ1).

    Edit 2:

    Covariate estimates (SAS/MIXED):

    Variance            person          GROUP TEST        8789.23
    CS                  person          GROUP TEST         125.79
    Variance            person          GROUP CONTROL       82775
    CS                  person          GROUP CONTROL       33297
    

    So

    TEST group diagonal element
      = 125.79 + 8789.23
      = 8915.02
    CONTROL group diagonal element
      = 33297 + 82775
      = 116072
    

    where diagonal element = σk1 + σk2.

    Covariate estimates (R lme):

    Random effects:
     Formula: ~GROUP - 1 | person
     Structure: Diagonal
            GROUP1TEST GROUP2CONTROL Residual
    StdDev:   14.56864       184.692 93.28885
    
    Correlation Structure: Compound symmetry
     Formula: ~day | person 
     Parameter estimate(s):
             Rho 
    -0.009929987 
    Variance function:
     Structure: Different standard deviations per stratum
     Formula: ~1 | GROUP 
     Parameter estimates:
       1TEST 2CONTROL 
    1.000000 3.068837 
    

    So

    TEST group diagonal element
      = 14.56864^2 + (3.068837^0.5 * 93.28885 * -0.009929987) + 93.28885^2
      = 8913.432
    CONTROL group diagonal element
      = 184.692^2  + (3.068837^0.5 * 93.28885 * -0.009929987) + (3.068837 * 93.28885)^2
      = 116070.5
    

    where diagonal element = τg2 + σ1 + σg2.

提交回复
热议问题