Date: Thu, 29 Jun 2006 05:08:03 -0400
Reply-To: Jim Groeneveld <jim2stat@YAHOO.CO.UK>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Jim Groeneveld <jim2stat@YAHOO.CO.UK>
Subject: Re: SAS 8 vs. 9 incompatibility
Indeed. The following link, that I received from Lex Jansen, points out
that it is only a problem with SAS 8.2, evidently not other SAS 8.x
I have to add, that did not hard code -. [minus period], but just [minus
variable], where variable was missing.
Regards - Jim.
On Wed, 28 Jun 2006 12:59:05 -0400, Venky Chakravarthy
>I was wondering about this too and decided to test it in version 6.12 as
>well. Interestingly Version 6.12 produces identical results to V9 (Mike's
>modified code included). In version 8.2 the results are as reported by
> missing values for MisMis0 and MisMis1. I wonder what changed in Version
>Recently, on an unrelated issue that I discussed with SAS tech support
>indicated that sometimes when a bug gets fixed some other issues get
>fixed "by accident". Perhaps, this could apply here as well.
>On Wed, 28 Jun 2006 11:11:33 -0400, Mike Rhoads <RHOADSM1@WESTAT.COM>
>>Now, try it with a special missing value ...
>> MisMis = ._ EQ -._; * -. is not the missing value ._;
>> MisMis0 = 0 * (._ EQ -._); * and neither the Morse code for N;
>> MisMis1 = 1 * (._ EQ -._); * it is: minus the missing value .;
>> PUT (_ALL_)(=);
>>In SAS 9.1.3, WinXP, produces:
>>MisMis=0 MisMis0=0 MisMis1=0
>>As a clue, it also produces:
>>NOTE: Missing values were generated as a result of performing an
>>operation on missing values.
>>In terms of "the meaning of a negative missing value" -- the minus sign
>>(-) is an operator, just as the * and EQ are. Attempting to perform an
>>arithmetic operation such as negation on any missing value results in a
>>"standard" missing value (.). In SAS, however, the result of an
>>equality test is always true or false (1 or 0).
>>From: firstname.lastname@example.org [mailto:email@example.com]
>>On Behalf Of Jim Groeneveld
>>Sent: Wednesday, June 28, 2006 10:13 AM
>>Cc: Jim Groeneveld
>>Subject: SAS 8 vs. 9 incompatibility
>>Run the following test program in both SAS vs. 8 and SAS vs. 9 if you
>>and have a look at the difference.
>> MisMis = . EQ -.; * -. is not the missing value ._;
>> MisMis0 = 0 * (. EQ -.); * and neither the Morse code for N;
>> MisMis1 = 1 * (. EQ -.); * it is: minus the missing value .;
>> PUT (_ALL_)(=);
>>SAS vs. 8 yields:
>>MISMIS=1 MISMIS0=. MISMIS1=.
>>while SAS vs. 9 yields:
>>MISMIS=1 MISMIS0=0 MISMIS1=1
>>You could question the meaning of a negative missing value, but given
>>first value I think SAS vs. 9 is correct with the two other values and
>>vs. 8 is not.
>>Where I work now (on secondment) they changed from SAS 8 to SAS 9 today.
>>Regards - Jim.
>>Jim Groeneveld, Netherlands
>>Statistician, SAS consultant