[R] Inefficiency of SAS Programming

Frank E Harrell Jr f.harrell at vanderbilt.edu
Tue Mar 3 14:41:55 CET 2009


Ajay ohri wrote:
> for an " inefficient " language , it sure has dominated the predictive
> analytics world for 3 plus decades.
> I referred once to intellectual jealousy between newton and liebnitz.
> 
> i am going ahead and creating the R package called "Anne".
> 
> It basically is meant only for SAS users who want to learn R ,
> without upsetting the schedule of the corporate users.
> 
> Simply put , it is a wrapper on SAS language using the function command...ie
> procunivariate function in "Anne" package would call the summary function
> and so on...

Go ahead and add to the confusion.  You've already created some by using 
  summary for procunivariate.  I created the describe function in the 
Hmisc package to replace univariate.

Frank

> 
> Regards,
> 
> Ajay
> 
> www.decisionstats.com
> 
> On Tue, Mar 3, 2009 at 9:20 AM, Greg Snow <Greg.Snow at imail.org> wrote:
> 
>> This does not really address my point.  Yes, if the few nerds who want to
>> do funny stuff are the ones making the purchase, then there is a good chance
>> (but still not guaranteed) that they will get IML, but do all companies that
>> buy SAS actually think about that, or do they just see the extra price (no
>> matter how low), or not even think to look at that piece because the person
>> making the purchase does not really the funny things you can do with it.
>>
>> If you want your SAS code to be able to be run by anyone with SAS, you
>> cannot assume that they have IML.  If you want your R code to be run by
>> anyone, you cannot make your code dependent on packages/tools that are not
>> available for all platforms.
>>
>> --
>> Gregory (Greg) L. Snow Ph.D.
>> Statistical Data Center
>> Intermountain Healthcare
>> greg.snow at imail.org
>> 801.408.8111
>>
>>
>>> -----Original Message-----
>>> From: Gerard M. Keogh [mailto:GMKeogh at justice.ie]
>>> Sent: Monday, March 02, 2009 3:22 AM
>>> To: Greg Snow
>>> Cc: Frank E Harrell Jr; R list; r-help-bounces at r-project.org
>>> Subject: Re: [R] Inefficiency of SAS Programming
>>>
>>> Yes Greg,
>>>
>>> but if you're buying SAS they'll throw in IML pretty cheaply - SAS
>>> think
>>> it's only for a few nerds out there who wan to do funny stuff.
>>>
>>> G
>>>
>>>
>>>
>>>              Greg Snow
>>>              <Greg.Snow at imail.
>>>              org>
>>> To
>>>              Sent by:                  "Gerard M. Keogh"
>>>              r-help-bounces at r-         <GMKeogh at justice.ie>, Frank E
>>>              project.org               Harrell Jr
>>>                                        <f.harrell at vanderbilt.edu>
>>>
>>> cc
>>>              27/02/2009 19:05          "r-help-bounces at r-project.org"
>>>                                        <r-help-bounces at r-project.org>,
>>> R
>>>                                        list <r-help at stat.math.ethz.ch>
>>>
>>> Subject
>>>                                        Re: [R] Inefficiency of SAS
>>>                                        Programming
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> But SAS/IML is not part of base SAS, it costs extra, so there is a good
>>> chance that a user that has SAS will not be able to run code that uses
>>> SAS/IML.
>>>
>>> I have known of SAS programmers who know IML well that still write
>>> matrix/vector tools using macros or proc transpose so that a user
>>> without
>>> IML can still use the code (the fact that the code that started this
>>> thread
>>> was found on a website, suggests that it was meant for general use
>>> rather
>>> than something only used internally where you know what add-ons will be
>>> available).
>>>
>>> Just another way that R makes life easier for both programmer and user.
>>>
>>>
>>> --
>>> Gregory (Greg) L. Snow Ph.D.
>>> Statistical Data Center
>>> Intermountain Healthcare
>>> greg.snow at imail.org
>>> 801.408.8111
>>>
>>>
>>>> -----Original Message-----
>>>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
>>>> project.org] On Behalf Of Gerard M. Keogh
>>>> Sent: Friday, February 27, 2009 7:19 AM
>>>> To: Frank E Harrell Jr
>>>> Cc: r-help-bounces at r-project.org; R list
>>>> Subject: Re: [R] Inefficiency of SAS Programming
>>>>
>>>> Yes Frank, I accept your point but nevertheless IML is the proper
>>> place
>>>> for
>>>> matrix work in SAS - mixing macro-level logic and computation is
>>>> another
>>>> question - R is certainly more seemless in this respect.
>>>>
>>>> Gerard
>>>>
>>>>
>>>>
>>>>              Frank E Harrell
>>>>              Jr
>>>>              <f.harrell at vander
>>>> To
>>>>              bilt.edu>                 "Gerard M. Keogh"
>>>>                                        <GMKeogh at justice.ie>
>>>>              27/02/2009 13:55
>>>> cc
>>>>                                        R list <r-
>>>> help at stat.math.ethz.ch>,
>>>>                                        r-help-bounces at r-project.org
>>>>
>>>> Subject
>>>>                                        Re: [R] Inefficiency of SAS
>>>>                                        Programming
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Gerard M. Keogh wrote:
>>>>> Frank,
>>>>>
>>>>> I can't see the code you mention - Web marshall at work - but I
>>> don't
>>>> think
>>>>> you should be too quick to run down SAS - it's a powerful and
>>>> flexible
>>>>> language but unfortunately very expensive.
>>>>>
>>>>> Your example mentions doing a vector product in the macro language
>>> -
>>>> this
>>>>> only suggest to me that those people writing the code need a crash
>>>> course
>>>>> in SAS/IML (the matrix language). SAS is designed to work on
>>> records
>>>> and
>>>> so
>>>>> is inapproprorriate for matrices - macros are only an efficient
>>> code
>>>>> copying device. Doing matrix computations in this way is pretty mad
>>>> and
>>>> the
>>>>> code would be impossible never mind the memory problems.
>>>>> SAS recognise that but a lot of SAS users remain familiar with IML.
>>>>>
>>>>> In IML by contrast there are inner, cross and outer products and a
>>>> raft
>>>> of
>>>>> other useful methods for matrix work that R users would be familiar
>>>> with.
>>>>> OLS for example is one line:
>>>>>
>>>>> b = solve(X`X, X`y) ;
>>>>> rss = sqrt(ssq(y - Xb)) ;
>>>>>
>>>>> And to give you a flavour of IML's capabilities I implemented a SAS
>>>> version
>>>>> of the MARS program in it about 6 or 7 years ago.
>>>>> BTW SPSS also has a matrix language.
>>>>>
>>>>> Gerard
>>>> But try this:
>>>>
>>>> PROC IML;
>>>> ... some custom user code ...
>>>> ... loop over j=1 to 10 ...
>>>> ...   PROC GENMOD, output results back to IML
>>>> ...
>>>>
>>>> IML is only a partial solution since it is not integrated with the
>>> PROC
>>>> step.
>>>>
>>>> Frank
>>>>
>>>>>
>>>>>
>>>>>
>>>>>              Frank E Harrell
>>>>>              Jr
>>>>>              <f.harrell at vander
>>>> To
>>>>>              bilt.edu>                 R list <r-
>>>> help at stat.math.ethz.ch>
>>>>
>>>>>              Sent by:
>>>> cc
>>>>>              r-help-bounces at r-
>>>>>              project.org
>>>> Subject
>>>>>                                        [R] Inefficiency of SAS
>>>> Programming
>>>>>              26/02/2009 22:57
>>>>>
>>>>>
>>>>>
>>>>> If anyone wants to see a prime example of how inefficient it is to
>>>>> program in SAS, take a look at the SAS programs provided by the US
>>>>> Agency for Healthcare Research and Quality for risk adjusting and
>>>>> reporting for hospital outcomes at
>>>>> http://www.qualityindicators.ahrq.gov/software.htm .  The
>>> PSSASP3.SAS
>>>>> program is a prime example.  Look at how you do a vector product in
>>>> the
>>>>> SAS macro language to evaluate predictions from a logistic
>>> regression
>>>>> model.  I estimate that using R would easily cut the programming
>>> time
>>>> of
>>>>> this set of programs by a factor of 4.
>>>>>
>>>>> Frank
>>>>> --
>>>>> Frank E Harrell Jr   Professor and Chair           School of
>>> Medicine
>>>>>                       Department of Biostatistics   Vanderbilt
>>>> University
>>>>> ______________________________________________
>>>>> R-help at r-project.org mailing list
>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>> PLEASE do read the posting guide
>>>>> http://www.R-project.org/posting-guide.html
>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>>
>>>>>
>>>>>
>>>>>
>>> ***********************************************************************
>>>> ***********
>>>>
>>>>> The information transmitted is intended only for the person or
>>> entity
>>>> to
>>>> which it is addressed and may contain confidential and/or privileged
>>>> material. Any review, retransmission, dissemination or other use of,
>>> or
>>>> taking of any action in reliance upon, this information by persons or
>>>> entities other than the intended recipient is prohibited. If you
>>>> received
>>>> this in error, please contact the sender and delete the material from
>>>> any
>>>> computer.  It is the policy of the Department of Justice, Equality
>>> and
>>>> Law
>>>> Reform and the Agencies and Offices using its IT services to disallow
>>>> the
>>>> sending of offensive material.
>>>>> Should you consider that the material contained in this message is
>>>> offensive you should contact the sender immediately and also
>>>> mailminder[at]justice.ie.
>>>>> Is le haghaidh an duine nó an eintitis ar a bhfuil sí dírithe, agus
>>>> le
>>>> haghaidh an duine nó an eintitis sin amháin, a bheartaítear an
>>>> fhaisnéis a
>>>> tarchuireadh agus féadfaidh sé go bhfuil ábhar faoi rún agus/nó faoi
>>>> phribhléid inti. Toirmisctear aon athbhreithniú, atarchur nó leathadh
>>> a
>>>> dhéanamh ar an bhfaisnéis seo, aon úsáid eile a bhaint aisti nó aon
>>>> ghníomh
>>>> a dhéanamh ar a hiontaoibh, ag daoine nó ag eintitis seachas an
>>>> faighteoir
>>>> beartaithe. Má fuair tú é seo trí dhearmad, téigh i dteagmháil leis
>>> an
>>>> seoltóir, le do thoil, agus scrios an t-ábhar as aon ríomhaire. Is é
>>>> beartas na Roinne Dlí agus Cirt, Comhionannais agus Athchóirithe Dlí,
>>>> agus
>>>> na nOifígí agus na nGníomhaireachtaí a úsáideann seirbhísí TF na
>>>> Roinne,
>>>> seoladh ábhair cholúil a dhícheadú.
>>>>> Más rud é go measann tú gur ábhar colúil atá san ábhar atá sa
>>>> teachtaireacht seo is ceart duit dul i dteagmháil leis an seoltóir
>>>> láithreach agus le mailminder[ag]justice.ie chomh maith.
>>> ***********************************************************************
>>>> ************
>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Frank E Harrell Jr   Professor and Chair           School of Medicine
>>>>                       Department of Biostatistics   Vanderbilt
>>>> University
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide http://www.R-project.org/posting-
>>>> guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
> 
> 	[[alternative HTML version deleted]]
> 
> 
> 
> ------------------------------------------------------------------------
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.


-- 
Frank E Harrell Jr   Professor and Chair           School of Medicine
                      Department of Biostatistics   Vanderbilt University




More information about the R-help mailing list