BookmarkSubscribeRSS Feed
madisonsmith
Calcite | Level 5

Hi all,

 

I am running a multivariate, multilevel PROC MIXED model with a combination of continuous, categorical, and spline variables (syntax below). I have observed a significant interaction between fobss_total_personmean (continuous) and TransitionRelat (categorical, 0/1). The way the data are interpreted, it makes the most sense to examine the categorical variable as the X and the continuous variable as the M. Based on the documentation I've been able to find though, I haven't been able to use PROC PLM to probe simple slopes or to actually plot the effects in this way. Is there any way to do this?

 

PROC MIXED data=work.import covtest noclprint method = ML; 
class fab400_id partner(ref="Yes") TransitionSingle(ref="Continuance of Singlehood OR In a Relationship") 
TransitionRelat(ref="Continuance of Relationship OR Being Single") GID_Male(ref="Gender2") dem06_L2(ref="Gender2"); 
model pss_sum = Age_T1 GID_male dem06_L2 visit partner Length2 TransitionSingle TransitionRelat Time mspss_total_personmean fobss_total_personmean 
partner*fobss_total_personmean Length2*fobss_total_personmean TransitionSingle*fobss_total_personmean TransitionRelat*fobss_total_personmean
Time*fobss_total_personmean /solution; 
random intercept visit / sub=fab400_id type=vc;
Repeated / Subject=fab400_id;
store pred1;
run;

proc plm restore=pred1;
estimate 'FOBS slope, Transition Relat 0' fobss_total_personmean 1 TransitionRelat*fobss_total_personmean 1 0,
'FOBS slope, Transition Relat 1' fobss_total_personmean 1 TransitionRelat*fobss_total_personmean 0 1 / e;
effectplot slicefit (x=fobss_total_personmean sliceby=TransitionRelat=0 1);
run;

Thank you in advance!

5 REPLIES 5
sbxkoenk
SAS Super FREQ

Hello,

 

Sorry for not taking a deep dive into your question, but is this paper providing an answer?

 

Paper SAS1919-2015
Advanced Techniques for Fitting Mixed Models Using SAS/STAT® Software

Jill Tao, Kathleen Kiernan, and Phil Gibbs, SAS Institute Inc.

https://support.sas.com/resources/papers/proceedings15/SAS1919-2015.pdf

 

The paper has 25 matches on "PROC PLM"

and is performing several post-fitting statistical analyses (with PROC PLM) on top of models fit with PROC MIXED.

 

BR,
Koen

 
madisonsmith
Calcite | Level 5
That is a helpful article! But I don't think it fully addresses what I was wondering, because I get an error every time I try to specify my 0/1 variable as the X and to prove by values of my continuous moderator in PROC PLM.
SteveDenham
Jade | Level 19

What sort of error are you getting? That your ESTIMATE statement is reporting "Non-est" or is it something else that appears in the log? If it is the latter, please share all of your log relative to PROC PLM.

 

SteveDenham

madisonsmith
Calcite | Level 5

Yes, I am receiving a "non-est" error when I use the following syntax (with the latter values representing -1 SD, M, and +1 SD levels of fobss_total_personmean):

 

proc plm restore=pred1;
estimate TransitionRelat 1 TransitionRelat*fobss_total_personmean 1.41,
TransitionRelat 1 TransitionRelat*fobss_total_personmean 2.65
TransitionRelat 1 TransitionRelat*fobss_total_personmean 3.89/ e;
run;
SteveDenham
Jade | Level 19

Not sure whether this is the case, but off the top of my head, I don't think this is the right syntax for the ESTIMATE statement.

 

You may have to shift to an LSMESTIMATE statement, where you can use the AT option to get results at different levels of a continuous variable. For instance try this, and see if it gives something close to what you want:

 

proc plm restore=pred1;
estimate TransitionRelat 1 /at fobss_total_personmean= 1.41,
TransitionRelat 1 /at fobss_total_personmean= 2.65
TransitionRelat 1 /at fobss_total_personmean= 3.89/ e;
run;

This ought to give expected values at the three levels of your continuous variable for the first level of your categorical variable.

 

SteveDenham

 

 

 

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
What is ANOVA?

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.

Discussion stats
  • 5 replies
  • 864 views
  • 3 likes
  • 3 in conversation