Efficacy analysis of the percent change from Day 1 to Day 56 in LDL-C will be performed using a mixed model for repeated measures (MMRM) approach. The MMRM approach will include all available assessments of percent change in LDL-C from Baseline to Day 28 and Day 56.
The Restricted Maximum Likelihood estimation approach will be used with an unstructured covariance matrix. The least squares means, standard errors, and 2-sided 95% confidence intervals for each treatment group and for the pairwise comparisons of each dose of active group to the placebo group will be provided. Adjustment for multiple comparisons will be made using Dunnett’s test in accordance with the power and sample size calculations utilized for the study.
Only interest in multiple comparison at Day 56, and not sure how Adjust option use in LSMEANS.
AVISITN= 3= Day 28 / AVISITN=4= DAY 56
PROC MIXED DATA= dsin;
Where PCHG^=.;
Class USUBJID AVISITN TRTN(ref="1");
Model PCHG = AVISITN|TRTN BASE / solution cl ;
Repeated AVISITN / TYPE=UN Sub=USUBJID;
LsMeans TRTN / at (AVISITN)=(4) Adjust=DUNNETT;
RUN;
Any suggestion?
Your code should work if you treat AVISITN as a continuous variable. If that is what you want, you might want to create another variable avisit = avisitn, put avisit in the CLASS statement (take avisitn out of the CLASS statement so avisitn is now a continuous variable), and specify avisit in the REPEATED statement as only CLASS variable is allowed for the repeated effect.
Please note that adjust=dunnett implies that you are comparing trtn against the control, which by default is the first level of trtn. It does not do all pairwise comparisons for trtn. How many levels do yo have for trtn?
If you want to treat AVISITN as a classification variable, you might want to use the SLICE statement, but I am not sure if you will get exactly what you want. One way is to use --
slice trtn*avisitn / sliceby=avisitn adjust=dunnett;
This will give you comparisons of trtn against the control (which is the first level by default) for each level of avisitn. You will just need to look at the results for avisitn=4 and ingore others.
If you take out adjust=dunnett, you would get all comparisons of trtn for each level of avisitn. Then you will just examine the result for avisitn=4 and ignore others.
Please note that your request of adjust=dunnett and all comparisons of trtn against each other (regardless of avisitn value) does not go together. You cannot get both.
Another way of using the SLICE statement is to specify your CLASS statement as
Class USUBJID TRTN(ref="1") avisitn; *** avisitn is after trtn;
then use the SLICE statement such as --
slice trtn*avisitn / diff=control('1' '4') adjust=dunnett;
This will compare all trtn against the level '1' for just avisitn=4 with Dunnett adjusted p-values. You can change the reference level for trtn to something else, but again, you cannot get all pairwise comparisons for trtn (depending on how many levels of trtn you have, this might or might not matter).
If you still want all pairwise comparisons for trtn for just avisitn=4, then you might have to write ESTIMATE or LSMESTIMATE statements for that, but ADJUST=DUNNETT might not be available.
Do you want to compare trtn among each other for only day 56, or do you want to compare other days against day 56 (averaged over trtn)?
"compare TRTN among each other for only day 56" is the goal
Your code should work if you treat AVISITN as a continuous variable. If that is what you want, you might want to create another variable avisit = avisitn, put avisit in the CLASS statement (take avisitn out of the CLASS statement so avisitn is now a continuous variable), and specify avisit in the REPEATED statement as only CLASS variable is allowed for the repeated effect.
Please note that adjust=dunnett implies that you are comparing trtn against the control, which by default is the first level of trtn. It does not do all pairwise comparisons for trtn. How many levels do yo have for trtn?
If you want to treat AVISITN as a classification variable, you might want to use the SLICE statement, but I am not sure if you will get exactly what you want. One way is to use --
slice trtn*avisitn / sliceby=avisitn adjust=dunnett;
This will give you comparisons of trtn against the control (which is the first level by default) for each level of avisitn. You will just need to look at the results for avisitn=4 and ingore others.
If you take out adjust=dunnett, you would get all comparisons of trtn for each level of avisitn. Then you will just examine the result for avisitn=4 and ignore others.
Please note that your request of adjust=dunnett and all comparisons of trtn against each other (regardless of avisitn value) does not go together. You cannot get both.
Another way of using the SLICE statement is to specify your CLASS statement as
Class USUBJID TRTN(ref="1") avisitn; *** avisitn is after trtn;
then use the SLICE statement such as --
slice trtn*avisitn / diff=control('1' '4') adjust=dunnett;
This will compare all trtn against the level '1' for just avisitn=4 with Dunnett adjusted p-values. You can change the reference level for trtn to something else, but again, you cannot get all pairwise comparisons for trtn (depending on how many levels of trtn you have, this might or might not matter).
If you still want all pairwise comparisons for trtn for just avisitn=4, then you might have to write ESTIMATE or LSMESTIMATE statements for that, but ADJUST=DUNNETT might not be available.
Try the SLICE statement to compare the levels of TRTN when AVISITN=4
PROC MIXED DATA= dsin;
Where PCHG^=.;
Class USUBJID AVISITN TRTN(ref="1");
Model PCHG = AVISITN|TRTN BASE / solution cl ;
Repeated AVISITN / TYPE=UN Sub=USUBJID;
Slice AVISITN*TRTN / sliceby=(AVISITN='4') Adjust=DUNNETT;
RUN;
I do not think this SLICE statement works. The SLICEBY= syntax is not appropriate.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.