From: oloolo on 4 Jan 2010 17:27 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 5 Jan 2010 08:15 "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 5 Jan 2010 11:07 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 6 Jan 2010 08:46 "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 6 Jan 2010 13:24
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." >> |