BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
Margret_chidex
Fluorite | Level 6
Hello everyone.
can anyone please  help . I am trying to do a multiple imputation of my missing variables. everything went well until the pooling phase. i have some errors popping up at the pooling phase. the first code I tried is uses the dataset that I generated as output in the analysis phase. But my categorical variables  are not in that data  set, so  stops analysis after reporting that postmeno and the other variables are not there. 
 
I tried another method. i tried combining the dataset mi-brenda and a_brenda together into dataset  _all, hoping that would solve my problem. but then I get this error too:
 
ERROR: Domain error.
ERROR: Termination due to Floating Point Exception
Please can anyone of you help me figure out how to bypass this problem? Thanks.
My codes are displayed below.
 
 
/* The Imputation Phase */
 
 
proc mi data= brenda.brenda3 nimpute=10 out=brenda.mi_brenda seed=54321;
   class postmeno k06t1 n01t1 n02t1 r05t1 risk;
   fcs nbiter=10 discrim(postmeno k06t1 n01t1 n02t1 r05t1 risk/details classeffects=include ) reg(eorqlt3 eoralt3
eordft3
eoreft3
eorfst3
eorft3
eorkat3
eorkft3
eornvt3
eorobt3
eorpft3
eorpt3
eorrft3
eorsft3
eorslt3 eorqlt2/details);
   var eorqlt3
eoralt3
eordft3
eoreft3
eorfst3
eorft3
eorkat3
eorkft3
eornvt3
eorobt3
eorpft3
eorpt3
eorrft3
eorsft3
eorslt3 eorqlt2 postmeno k06t1 n01t1 n02t1 r05t1 risk;
run;
 

/*II-The Analysis Phase   */
TITLE " MULTIPLE IMPUTATION REGRESSION ";
proc genmod data = brenda.mi_brenda ;
class postmeno k06t1 n01t1 n02t1 r05t1 risk;
model  eorqlt3= eoralt3
eordft3
eoreft3
eorfst3
eorft3
eorkat3
eorkft3
eornvt3
eorobt3
eorpft3
eorpt3
eorrft3
eorsft3
eorslt3 eorqlt2 postmeno k06t1 n01t1 n02t1 r05t1 risk / link=log dist=normal;
by _imputation_;
ods output ParameterEstimates = brenda.a_brenda;
run;
quit;
 
Data brenda.all;
set brenda.mi_brenda brenda.a_brenda;
run;
 
PROC CONTENTS data=brenda.all;
run;
 
/*III-Pooling phase  */
 
 
proc mianalyze parms(Classvar=Full)= brenda.a_brenda;
class postmeno k06t1 n01t1 n02t1 r05t1 risk;
modeleffects intercept eoralt3
eordft3
eoreft3
eorfst3
eorft3
eorkat3
eorkft3
eornvt3
eorobt3
eorpft3
eorpt3
eorrft3
eorsft3
eorslt3 eorqlt2 postmeno k06t1 n01t1 n02t1 r05t1 risk ;
run;
 
 
proc mianalyze parms(classvar=full)= brenda.alL;
class postmeno k06t1 n01t1 n02t1 r05t1 risk;
modeleffects intercept eoralt3
eordft3
eoreft3
eorfst3
eorft3
eorkat3
eorkft3
eornvt3
eorobt3
eorpft3
eorpt3
eorrft3
eorsft3
eorslt3 eorqlt2 postmeno k06t1 n01t1 n02t1 r05t1 risk ;
run;
 
 
1 ACCEPTED SOLUTION

Accepted Solutions
SAS_Rob
SAS Employee

I think the problem is that you have the wrong sub-option for the CLASSVAR=  set.  It should be set to LEVEL and not FULL.

proc mianalyze parms(Classvar=level)= brenda.a_brenda;

View solution in original post

3 REPLIES 3
SAS_Rob
SAS Employee

I think the problem is that you have the wrong sub-option for the CLASSVAR=  set.  It should be set to LEVEL and not FULL.

proc mianalyze parms(Classvar=level)= brenda.a_brenda;
Margret_chidex
Fluorite | Level 6
Thank you Rob. I'll try that and get back to you.
Margret_chidex
Fluorite | Level 6

Thank you  Rob. It worked. Im so excited. thank you  so  very much😊 @SAS_Rob 

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

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
  • 3 replies
  • 550 views
  • 2 likes
  • 2 in conversation