Inefficiency of SAS Programming
Ajay ohri wrote:
Sometimes for the sake of simplicity, SAS coding is created like that. One can use the concatenate function and drag and drop in an simple excel sheet for creating elaborate SAS code like the one mentioned and without any time at all.
A system that requires Excel for its success is not a complete system.
There are multiple ways to do this in SAS , much better and similarly in R.... There are many areas that SAS programmers would find R a bit not so useful ---example the equivalence of proc logistic for creating a logistic model.
Really? Try this in SAS: library(Design) f <- lrm(death ~ rcs(age,5)*sex) anova(f) # get test of nonlinearity of interactions among other things nomogram(f) # depict model graphically The restricted cubic spline in age, i.e., assuming the age relationship is smooth but not much else, is very easy to code in R. There are many other automatic transformations available. The lack of generality of the SAS language makes many SAS users assume linearity for more often than R users do. Also note that PROC LOGISTIC, without invocation of a special option, would make the user believe that older subjects have lower chances of dying, as SAS by default takes the even being predicted to be death=0. Frank
On Fri, Feb 27, 2009 at 10:21 AM, Wensui Liu <liuwensui at gmail.com
<mailto:liuwensui at gmail.com>> wrote:
Thanks for pointing me to the SAS code, Dr Harrell
After reading codes, I have to say that the inefficiency is not
related to SAS language itself but the SAS programmer. An experienced
SAS programmer won't use much of hard-coding, very adhoc and difficult
to maintain.
I agree with you that in the SAS code, it is a little too much to
evaluate predictions. such complex data step actually can be replaced
by simpler iml code.
On Thu, Feb 26, 2009 at 5:57 PM, Frank E Harrell Jr
<f.harrell at vanderbilt.edu <mailto:f.harrell at vanderbilt.edu>> wrote:
> 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
> 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. > -- =============================== WenSui Liu Acquisition Risk, Chase Blog : statcompute.spaces.live.com <http://statcompute.spaces.live.com> I can calculate the motion of heavenly bodies, but not the madness of people.? -- Isaac Newton =============================== ______________________________________________ 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