[R] Inefficiency of SAS Programming

Greg Snow Greg.Snow at imail.org
Tue Mar 3 04:50:21 CET 2009


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.
> 




More information about the R-help mailing list