BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
ProfB
Fluorite | Level 6

I am having trouble generating pooled effect estimates for an interaction between two categorical variables, using multiple linear regression with robust variance estimation and stabilized inverse probability of treatment weights - essentially a 'multiple informant' model.  The code I'm working with is:

 

 

Proc genmod data=data plots=(dfbetacs);  
	class studyid predict_1 (ref='0');
	model z_bw=predict_1*time race*time bmi*time age*time educat*time smoke*time/noint dist=normal link=identity id=studyid;
                repeated subject=studyid/type=ind ecovb;
		weight &weight;
		by _imputation_;
	ods output GEEEmpPEst=emp_est GEERCov=emp_covb 
        parmInfo=pinfo;
run;

Proc mianalyze  parms(classvar=level)=emp_est  covb = emp_covb parminfo=gmpinfo mult;
	class predict_1*time;
	modeleffects  predict_1*time;
run;

Predict_1 is a 3 level categorical variables (i.e., 1st, 2nd, 3rd tertile), time is a 2 level categorical variable. My model works fine but I'm unable to generate the pooled estimate for predict_1*time at each of the 6 potential levels.  However, I am receiving an error message that I've been unable to correct in that SAS doesn't appear to be recognizing the "predict_1*time" as an effect/Parm name:

"ERROR 22-322: Syntax error, expecting one of the following: a name, ;, -."
"ERROR 200-322: The symbol is not recognized and will be ignored."

 

Any ideas? Please!

 

1 ACCEPTED SOLUTION

Accepted Solutions
SAS_Rob
SAS Employee

Try this:

 

Proc mianalyze  parms(classvar=level)=emp_est;
	class predict_1;
	modeleffects  predict_1*time;
run;

 

You won't be able to use the MULT option since you have a CLASS variable.  This also means you do not  need the COVB= option either.

View solution in original post

4 REPLIES 4
PGStats
Opal | Level 21

Use

 

class predict_1 time;

 

no asterisk.

PG
ProfB
Fluorite | Level 6

Thanks, but no luck, "The model effect predict_1 is not in the PARMS= data set." I don't have the individual effect of predict_1 in the model.

SAS_Rob
SAS Employee

Try this:

 

Proc mianalyze  parms(classvar=level)=emp_est;
	class predict_1;
	modeleffects  predict_1*time;
run;

 

You won't be able to use the MULT option since you have a CLASS variable.  This also means you do not  need the COVB= option either.

ProfB
Fluorite | Level 6

Success!!! Thank you so much!

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 4 replies
  • 3909 views
  • 1 like
  • 3 in conversation