[R] Inefficiency of SAS Programming

Frank E Harrell Jr f.harrell at vanderbilt.edu
Tue Mar 3 18:33:01 CET 2009


Ajay ohri wrote:
> 
> why didnt you call it procunivariate if that was exactly what you wanted 
> to do .....

Why would I ever do that?  describe is a improvement on univariate, 
saving an estimated 87 +/- 87 trees per year in paper by printing what 
you need in much less space and concentrating on real descriptive 
statistics.

Frank

> 
> 
> On Tue, Mar 3, 2009 at 7:11 PM, Frank E Harrell Jr 
> <f.harrell at vanderbilt.edu <mailto:f.harrell at vanderbilt.edu>> wrote:
> 
>     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 <http://www.decisionstats.com>
> 
>         On Tue, Mar 3, 2009 at 9:20 AM, Greg Snow <Greg.Snow at imail.org
>         <mailto: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 <mailto:greg.snow at imail.org>
>             801.408.8111
> 
> 
>                 -----Original Message-----
>                 From: Gerard M. Keogh [mailto:GMKeogh at justice.ie
>                 <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
>                 <mailto: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 <mailto:GMKeogh at justice.ie>>, Frank E
>                             project.org <http://project.org>            
>                   Harrell Jr
>                                                      
>                 <f.harrell at vanderbilt.edu <mailto:f.harrell at vanderbilt.edu>>
> 
>                 cc
>                             27/02/2009 19:05        
>                  "r-help-bounces at r-project.org
>                 <mailto:r-help-bounces at r-project.org>"
>                                                      
>                 <r-help-bounces at r-project.org
>                 <mailto:r-help-bounces at r-project.org>>,
>                 R
>                                                       list
>                 <r-help at stat.math.ethz.ch <mailto: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 <mailto: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>
>                     [mailto:r-help-bounces at r- <mailto:r-help-bounces at r->
>                     project.org <http://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
>                     <mailto: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 <http://bilt.edu>>            
>                         "Gerard M. Keogh"
>                                                          
>                     <GMKeogh at justice.ie <mailto:GMKeogh at justice.ie>>
>                                 27/02/2009 13:55
>                     cc
>                                                           R list <r-
>                     help at stat.math.ethz.ch <mailto:help at stat.math.ethz.ch>>,
>                                                          
>                     r-help-bounces at r-project.org
>                     <mailto: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 <http://bilt.edu>>        
>                                 R list <r-
> 
>                     help at stat.math.ethz.ch <mailto:help at stat.math.ethz.ch>>
> 
>                                     Sent by:
> 
>                     cc
> 
>                                     r-help-bounces at r-
>                                     project.org <http://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
>                         <mailto: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 <http://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
>                     <http://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 <mailto: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 <mailto: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 <mailto: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 <mailto: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
> 
> 


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




More information about the R-help mailing list