BookmarkSubscribeRSS Feed
ndang3188
Calcite | Level 5

proc mi data=widegrp1_2 seed=93538001 nimpute=50 out=newgrp1_2  noprint

    minimum= .   0  maximum= .  14   14  minmaxiter=600 ;

  class CSIRSTR TRT01PN ;

  fcs nbiter=50 reg(BASE = CSIRSTR);

  fcs nbiter=50 reg(W2 = CSIRSTR BASE); /*[MESURE]='DD'*/

  MNAR model(W2/ modelobs=(TRT01PN = '3'));

  var CSIRSTR  BASE W2;

run;

 

For the above code, even after I specify minimum and maximum value for all variable listed inn VAR statment, I still get the following WARNING

 

WARNING: The specified nonmissing MINIMUM= 0 option for the CLASS variable CSIRSTR is not allowed. This option will be ignored.

WARNING: The specified nonmissing MAXIMUM= 14 option for the CLASS variable CSIRSTR is not allowed. This option will be ignored.

 

Is there a way to avoid these WARNING ? Should I modify MNAR statement?

 

 

5 REPLIES 5
SAS_Rob
SAS Employee

There is a known issue in Proc MI that will be fixed in an upcoming release that requires you also include the MODELOBS= variable in the MIN/MAX= list.  It appends it to the beginning of the variable list on the VAR statement.  Try this code instead:

proc mi data=widegrp1_2 seed=93538001 nimpute=50 out=newgrp1_2  noprint

    minimum= . .  0  0  maximum=.  .  14   14  minmaxiter=600 ;

  class TRT01PN CSIRSTR ;

  fcs nbiter=50 reg(BASE = CSIRSTR);

  fcs nbiter=50 reg(W2 = CSIRSTR BASE); /*[MESURE]='DD'*/

  MNAR model(W2/ modelobs=(TRT01PN = '3'));

  var CSIRSTR  BASE W2;

run;

 

ndang3188
Calcite | Level 5

Thank you for your quick reply. I tried the code and now the imputed result for BASE > 14, which is out of range. Is there any other way to fix this.

ndang3188
Calcite | Level 5

Thank you. I think the issue is with the extra dot in minimum and maximum option. Somehow it assigns no limit to BASE variable. Therefore, there is no error reported in SAS. I should just keep the original code. Thank you for your help.

ndang3188
Calcite | Level 5

I sincerely apologize. I implemented your approach in the wrong SAS code, that is why it gave the wrong results. This should be implemented for proc mi with MNAR statement. Thank you so much for your help.

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
  • 5 replies
  • 309 views
  • 0 likes
  • 2 in conversation