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!
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.
Use
class predict_1 time;
no asterisk.
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.
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.
Success!!! Thank you so much!
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.