Outline

SAS MMRM equivalence model in R

SAT, and AR(1)

Note: unstructured covariance is not available in SAS when Hessian maxtrix=0

data <- df %>%
  mutate(trt = case_when(
    trt == "NKTR" ~ "Drug",
    TRUE ~ trt
  ))
data$subjid <- factor(data$subjid)
data$visit <- factor(data$visit)
data$trt <- factor(data$trt)
MMRM SAS code
MMRM SAS code

1 MMRM

# Make sure variables are in class factors, UN can adjust to AR1, CS, VS, etc.
# method can adjust to Kenward-Roger, Satterthwaite, etc.
  mm1 <- mmrm(pchg ~  trt + visit + trt*visit + us(visit|subjid), data=data,  method='Satterthwaite')
# Least square Estimation 
  em1 <- emmeans(mm1, ~ trt | visit, adjust='none')

# Adjust  Confidence level to :90% CI
  cf1 <- summary(confint(em1, level=0.9))
  
# Disply the P-value and Difference between the two groups
  pvs <- summary(pairs(em1, adjust='none'))
mm1
## mmrm fit
## 
## Formula:     pchg ~ trt + visit + trt * visit + us(visit | subjid)
## Data:        data (used 14400 observations from 1800 subjects with maximum 8 
## timepoints)
## Covariance:  unstructured (36 variance parameters)
## Inference:   REML
## Deviance:    136847.2
## 
## Coefficients: 
##          (Intercept)           trtPlacebo            visitWK12 
##           -43.051644            22.064432            -9.083422 
##            visitWK14            visitWK16             visitWK2 
##           -15.114512           -20.757179            29.469798 
##             visitWK4             visitWK6             visitWK8 
##            21.933821            14.389944             7.081255 
## trtPlacebo:visitWK12 trtPlacebo:visitWK14 trtPlacebo:visitWK16 
##             2.869635             5.746693             4.914482 
##  trtPlacebo:visitWK2  trtPlacebo:visitWK4  trtPlacebo:visitWK6 
##           -12.500529           -10.015894            -6.012974 
##  trtPlacebo:visitWK8 
##            -4.113608 
## 
## Model Inference Optimization:
## Converged with code 0 and message: convergence: rel_reduction_of_f <= factr*epsmch
MMRM SAS estimation
MMRM SAS estimation
em1
## visit = WK10:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -43.05 1.225 1798    -45.5   -40.65
##  Placebo -20.99 1.501 1798    -23.9   -18.04
## 
## visit = WK12:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -52.14 1.163 1798    -54.4   -49.85
##  Placebo -27.20 1.424 1798    -30.0   -24.41
## 
## visit = WK14:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -58.17 1.147 1798    -60.4   -55.92
##  Placebo -30.36 1.405 1798    -33.1   -27.60
## 
## visit = WK16:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -63.81 1.106 1798    -66.0   -61.64
##  Placebo -36.83 1.355 1798    -39.5   -34.17
## 
## visit = WK2:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -13.58 0.909 1798    -15.4   -11.80
##  Placebo  -4.02 1.113 1798     -6.2    -1.83
## 
## visit = WK4:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -21.12 1.252 1798    -23.6   -18.66
##  Placebo  -9.07 1.534 1798    -12.1    -6.06
## 
## visit = WK6:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -28.66 1.251 1798    -31.1   -26.21
##  Placebo -12.61 1.532 1798    -15.6    -9.61
## 
## visit = WK8:
##  trt     emmean    SE   df lower.CL upper.CL
##  Drug    -35.97 1.201 1798    -38.3   -33.61
##  Placebo -18.02 1.471 1798    -20.9   -15.13
## 
## Confidence level used: 0.95
MMRM SAS code
MMRM SAS code
pvs
## visit = WK10:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -22.06 1.94 1798 -11.390  <.0001
## 
## visit = WK12:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -24.93 1.84 1798 -13.563  <.0001
## 
## visit = WK14:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -27.81 1.81 1798 -15.336  <.0001
## 
## visit = WK16:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -26.98 1.75 1798 -15.425  <.0001
## 
## visit = WK2:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo    -9.56 1.44 1798  -6.656  <.0001
## 
## visit = WK4:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -12.05 1.98 1798  -6.084  <.0001
## 
## visit = WK6:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -16.05 1.98 1798  -8.118  <.0001
## 
## visit = WK8:
##  contrast       estimate   SE   df t.ratio p.value
##  Drug - Placebo   -17.95 1.90 1798  -9.450  <.0001

Particular visit

pvs[pvs$visit=="WK16",]
##  contrast       visit estimate   SE   df t.ratio p.value
##  Drug - Placebo WK16       -27 1.75 1798 -15.425  <.0001