From: oloolo on
OT: why so many ppl claim that statisticians are bad SAS programmers? What
are their sample sizes? After all, SAS was written by Statisticians, LOL

On Mon, 4 Jan 2010 17:07:59 -0500, Jonathan Goldberg
<jgoldberg(a)BIOMEDSYS.COM> wrote:

>I gave an (and who knows, maybe the) explanation in a post on the old
>thread before I noticed this new one. For ease of reference, here it is
>again.
>---------------------------------------
>This is a hoary question. Logically speaking, having x < 2500 resolve to
>true when x is missing is absurd, and having x = y resolve to true when
>both x and y are missing is ludicrous. Missing means "I don't know." If
>x and y are heights, you are claiming that you know that two heights are
>equal when you don't know what either of them is.
>
>It's done that way to spare unsophisticated programmers (such as
>statisticians :-)) from having to deal with three-valued logic. That is,
>logical operators can return three values: true, false, and null. In
>three valued logic the only operation that can return true or false when
>dealing with a null value is "is null."
>
From: Lou on

"Jonathan Goldberg" <jgoldberg(a)BIOMEDSYS.COM> wrote in message
news:201001042207.o04BkhjO010396(a)malibu.cc.uga.edu...
>I gave an (and who knows, maybe the) explanation in a post on the old
> thread before I noticed this new one. For ease of reference, here it is
> again.
> ---------------------------------------
> This is a hoary question. Logically speaking, having x < 2500 resolve to
> true when x is missing is absurd, and having x = y resolve to true when
> both x and y are missing is ludicrous. Missing means "I don't know." If
> x and y are heights, you are claiming that you know that two heights are
> equal when you don't know what either of them is.

At the risk of seeming the fool, I've always thought of it as:

if X = "I don't know" and y = "I don't know" then x does equal y.



From: "Keintz, H. Mark" on
Lou said:

> -----Original Message-----
> From: SAS(r) Discussion [mailto:SAS-L(a)LISTSERV.UGA.EDU] On Behalf Of
> Lou
> Sent: Tuesday, January 05, 2010 8:15 AM
> To: SAS-L(a)LISTSERV.UGA.EDU
> Subject: Re: New Comparison Operators? - WAS: missing numerical values
> = -
>
> "Jonathan Goldberg" <jgoldberg(a)BIOMEDSYS.COM> wrote in message
> news:201001042207.o04BkhjO010396(a)malibu.cc.uga.edu...
> >I gave an (and who knows, maybe the) explanation in a post on the old
> > thread before I noticed this new one. For ease of reference, here it
> is
> > again.
> > ---------------------------------------
> > This is a hoary question. Logically speaking, having x < 2500
> resolve to
> > true when x is missing is absurd, and having x = y resolve to true
> when
> > both x and y are missing is ludicrous. Missing means "I don't know."
> If
> > x and y are heights, you are claiming that you know that two heights
> are
> > equal when you don't know what either of them is.
>
> At the risk of seeming the fool, I've always thought of it as:
>
> if X = "I don't know" and y = "I don't know" then x does equal y.


Lou:

That is a research or analysis issue, and is context sensitive.

For many SAS users, it is not simply a question of mathematical logic.


Regards,
Mark
From: Lou on

"Peter Flom" <peterflomconsulting(a)mindspring.com> wrote in message
news:5690480.1262715622820.JavaMail.root(a)elwamui-hound.atl.sa.earthlink.net...
> Dale McLerran <stringplayer_2(a)YAHOO.COM> wrote
>>
>>If you don't like Lou's example, how about missings due to
>>a skip pattern?
>>
>>if X = "skipped smoking question because person is nonsmoker" and
>> Y = "skipped smoking question because person is nonsmoker"
>> then x does equal y.
>>
>>
>>That is certainly a valid comparison. Here, if we code X=.S
>>and Y=.S, then I would expect the comparison "if X=Y" to
>>return as TRUE.
>>
>>This is not to argue that the way that SAS has implemented
>>missing values is the "right" approach. However, it does
>>argue that there is validity of the SAS approach for at least
>>some problems. Further, the approach of programs like R is
>>not always appropriate.
>>
>
> Hi Dale
>
> Yes, you're right
>
> In R, here, you'd have to do something else.
>
> So, neither default is always ideal, which indicates that it would be nice
> to have both possibilities,
> doesn't it?

How can you have two "defaults"?


From: Jonathan Goldberg on
In my (fairly extensive) experience the variance in the quality of code
produced by statisticians is quite high. :-)

Jonathan

On Mon, 4 Jan 2010 17:27:47 -0500, oloolo <dynamicpanel(a)YAHOO.COM> wrote:

>OT: why so many ppl claim that statisticians are bad SAS programmers? What
>are their sample sizes? After all, SAS was written by Statisticians, LOL
>
>On Mon, 4 Jan 2010 17:07:59 -0500, Jonathan Goldberg
><jgoldberg(a)BIOMEDSYS.COM> wrote:
>
>>I gave an (and who knows, maybe the) explanation in a post on the old
>>thread before I noticed this new one. For ease of reference, here it is
>>again.
>>---------------------------------------
>>This is a hoary question. Logically speaking, having x < 2500 resolve to
>>true when x is missing is absurd, and having x = y resolve to true when
>>both x and y are missing is ludicrous. Missing means "I don't know." If
>>x and y are heights, you are claiming that you know that two heights are
>>equal when you don't know what either of them is.
>>
>>It's done that way to spare unsophisticated programmers (such as
>>statisticians :-)) from having to deal with three-valued logic. That is,
>>logical operators can return three values: true, false, and null. In
>>three valued logic the only operation that can return true or false when
>>dealing with a null value is "is null."
>>