重复测量资料的Sas code和SAP撰写

2024-10-12 08:15   上海  

本文以OKellyRatitchClinical trial with missing data-a guideline for practitioners一书中的例子进行整理。

SAP text

1.MMRM

Treatment groups will be compared for the change from baseline in the unified Parkinson’s Disease Rating Scale (UPDRS) total Score at week 28 using a mixed effects ANOCOVA model for repeated measures (MMRM). The observed change from baseline score at each scheduled post-baseline visit (visit 1-8) is the dependent variable. The model will include the baseline UPDRS total score as a fixed effect covariate, with fixed effect categorical factors for geographic region (North America, South America, West Europe, East Europe and Asia), treatment group (active and Placebo), visit and baseline * visit and treatment * visit interactions. The interactions will remain in the model regardless of significance. Treatment group comparisons at each visit will be estimated by difference between least squares (LS) means from the treatment * visit interactions, with accompanying p values and 95% CIs. An unstructured covariance pattern will be used to estimate the variance – covariance of the within – subject repeated measures. Parameters will be estimated using REMLwith the Newton Raphson algorithm and using the Kenward – Roger methodfor calculating the denominator of freedom.

In case this case does not converge,a heterogeneous Toeplitz covariance pattern will be used in place of unstructured, In this case, to assess the robustness of the results, a supportive model using a sandwich estimator for the standard error of the fixed effects parameters will also be produced.

1.1 Standard Sample code:

Proc mixed data = updrs_v;

Class subjid region trt visit;

Model change = base_upd region trt visit trt * visit base_upd * visit / DDFM=KR

Repeated visit/type=un subject=subjid R RCORR

Lsmeans trt * visit /PDIFF CL

Estimate TRT 1 vs 2 at visit 8 TRT 1 -1

TRT * VISIT 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -1/CL;

Run;

1.2 Spatial power, random subject effect and sandwich estimator

Proc mixed data = updrs_v Empirical;

Class subjid region trt visit;

Model change = base_upd region trt visit trt * visit base_upd * visit / DDFM=KR

Repeated visit/type=sp(pow)(visweek)subject=subjid R RCORR

Random intercept/ subject=subjid G V VCORR

Lsmeans trt * visit /PDIFF CL

Estimate TRT 1 vs 2 at visit 8 TRT 1 -1

TRT * VISIT 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -1/CL;

Run;

1.3 GEE with compound symmetry working correlation matrix

Proc Genmod data = updrs_v ;

Class subjid region trt visit;

Model change = base_upd region trt visit trt * visit base_upd * visit / Dist=normal link=identity

Repeated subject=subjid/ type= CS CORRW

Lsmeans trt * visit /PDIFF CL

Estimate TRT 1 vs 2 at visit 8 TRT 1 -1

TRT * VISIT 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -1/CL;

Run;

1.4 Treatment * gender interaction at visit 8

Proc mixed data = updrs_v;

Class subjid region trt gender visit;

Model change = base_upd region trt gendervisit trt * visit base_upd * visit trt*gender gender* visit trt*gender*visit/ DDFM=KR

Repeated visit/type=un subject=subjid R RCORR

Contrast trt by gender interaction at visit 8

Trt*gender 1 -1 -1 1 trt*gender*visit 0 0 0 0 0 0 0 1

0 0 0 0 0 0 0 -1

0 0 0 0 0 0 0 -1

0 0 0 0 0 0 0 1

Run;

1.5 Constrained longitudinal data analysiscLDA

Proc mixed data = updrs_v;

Class subjid region trt visit;

Model updrs = region vis1 vis2 vis3 vis4 vis5 vis6 vis7 vis8 trt*vis1 trt*vis2 trt*vis3 trt*vis4 trt*vis5 trt*vis6 trt*vis7 trt*vis8 / DDFM=KR

Repeated visit/type=un subject=subjid R RCORR

Estimate “ BL lsmean” intercept 1 region 0.2 0.2 0.2 0.2 0.2;

Estimate “vis8 chg from BL trt 1” vis8 1 trt*vis8 1 0 / cl;

Estimate “vis8 chg from BL trt 2” vis8 1 trt*vis8 0 1 / cl;

Estimate “active- placebo at v8” trt*vis8 1 0 / cl;

Run;

2.Logistic GLMM

Treatment groups will be compared for odds of response at Day 28 using a logistic GLMM for repeated measures. Response or non-response at each scheduled post-baseline (Visit 1 to 5) is the dependent variable. Subjects who discontinued very early without providing a post-baseline YMRS score will be considered non-responders at visit 1 (Day 4). The logistic GLMM is fit using the logit link and the binominal distribution. The model will include the baseline YMRS total score as a fixed effect covariate, with fixed effect categorial factors for pooled investigator site (defined elsewhere in the SAP), treatment group (experiment and control)visit and visit * baseline and treatment * visit interactions. The interactions will remain in the model regardless of significance. Treatment group comparisons at each visit will be estimated by difference between least squares (LS) means from the treatment * visit interactions, and will be presented as odds with accompanying p values and 95% CIs. An unstructured covariance pattern will be used to estimate the variance – covariance of the within – subject repeated measures i.e.as R side random effects. Parameters will be estimated using restricted pseudo-likelihood with the Newton Raphson Ridging optimization and uthe Kenward – Roger method for calculating the denominator of freedom.

In case this case does not converge,a heterogeneous Toeplitz covariance pattern will be used in place of unstructured, In this case, to assess the robustness of the results, a supportive model will also be produced using the bias-corrected sandwich estimator HC3(Mackinnon and white1985) for the standard error of the fixed effects parameters.

2.1 Standard Sample code:

Proc Glimmmix data = mania_v;

Nloptions technique=Nrridg

Class subjid poolinv trt visit;

Model response = base_ymrs poolinv trt visit trt * visit base_ymrs * visit / Dist=Bin link=logit DDFM=KR

Random visit/type=un subject=subjid Rside

Lsmeans trt * visit /Ilink CL

Lsmeans trt * visit / Oddsratio DIFF CL

Estimate TRT 1 vs 2 at visit 5

TRT 1 -1 TRT * VISIT 0 0 0 0 -1 0 0 0 0 1/ Exp CL;

Run;

2.2 Logistic GEE

Proc Genmod data = mania_v descending;

Class subjid poolinv trt visit;

Model response = base_ymrs poolinv trt visit trt * visit base_ymrs * visit / Dist=bin link=logit type3

Repeated subject=subjid/ type= un CORRW

Lsmeans trt * visit /DIFF CL

Estimate TRT 1 vs 2 at visit 5 

TRT 1 -1 TRT * VISIT 0 0 0 0 -1 0 0 0 0 1/exp;

Run;

Take home message:

1.Proc Glimmix没有repeated statement

2.Ilink输出estimates event rates

3.Proc Glimmmix data = mania_v Empirical=HC3推荐用于小样本

4.Pooling 研究中心可以提高收敛性,但需要Pre-planPool的原则依据数量和地理属性。Pool的原则是至少一个visit15responsenon-response受试者(两个arm合计)或者与最少的研究中心相比,不大于3倍以上的。

5.BaselineVisit的交互加入Model也可以提高收敛性。

6.Quasi complete separation的现象也需要pooled 研究中心进行避免。

7.Model进入pooled site还是country,需要根据SEORP value;前者SE(一般可以通过Figure可以更加显示差异)一般大于后者,但ORP value可能前者好于后者,需要stimulation不同model,也可以比较AICC。另外,两者只能进入一个,都进入可能存在多重共线性。

参考文献

Clinical trial with missing data-a guideline for practitioners

流行病学与卫生统计学
Pivot数据交流平台,每周分享临床试验研究设计、实施、统计等相关信息。
 最新文章