[R] Inefficiency of SAS Programming

Frank E Harrell Jr f.harrell at vanderbilt.edu
Fri Feb 27 16:16:10 CET 2009


Ajay ohri wrote:
> Immersion therapy can be done at a later stage after the 
> newly baptized R  corporate user is happy with the fact that he can do 
> most of his legacy code in R easily now .
> 
>  I have treading water in the immersion for over a year now.
> 
> 
>  Most SAS consultants and corporate users are eager to try out R ..but 
> they are scared of immersion especially in these cut back times  ...so 
> this could be a middle step...let me go ahead and create the wrapper SAS 
> package as a middle ware between r and sas ..
> 
> and we will let the invisible hands of  free market decide :))

This is futile and will make it more difficult for other R users to help 
you in the future.  As Marc said this is really a bad idea and will 
backfire.

Frank

> 
> 
> regards,
> 
> ajay
> 
> www.decisionstats.com <http://www.decisionstats.com>
> 
> I am not a Marxist. 
> Karl Marx <http://www.brainyquote.com/quotes/quotes/k/karlmarx131048.html> 
> 
> On Fri, Feb 27, 2009 at 8:01 PM, Marc Schwartz 
> <marc_schwartz at comcast.net <mailto:marc_schwartz at comcast.net>> wrote:
> 
>     on 02/27/2009 07:57 AM Frank E Harrell Jr wrote:
>      > Ajay ohri wrote:
>      >>
>      >> I would like to know if we can create a package in which r functions
>      >> are renamed closer to sas language.doing so will help people
>     familiar
>      >> to SAS to straight away take to R for their work,thus decreasing the
>      >> threshold for acceptance - and then get into deeper
>     understanding later.
>      >>
>      >> since it is a package it would be optional only for people
>     wanting to
>      >> try out R from SAS.. Do we have such a package right now..it
>     basically
>      >> masks R functions to the equivalent function in another language
>     just
>      >> for user ease /beginners
>      >>
>      >> for example
>      >>
>      >> creating function for means
>      >>  procmeans<-function(x,y)
>      >> + {
>      >> summary (
>      >> subset(x,select=c(x,y))
>      >> +
>      >> )
>      >>
>      >> creating function for importing csv
>      >>
>      >> procimport <-function(x,y)
>      >> + {
>      >> read.csv(
>      >> textConnection(x),row.names=y,na.strings="  "
>      >> +
>      >> )
>      >>
>      >>
>      >> creating function fo describing data
>      >>
>      >> procunivariate<-function(x)
>      >> + {
>      >> summary(x)
>      >> +
>      >> )
>      >>
>      >> regards,
>      >>
>      >> ajay
>      >
>      > Ajay,
>      >
>      > This will generate major confusion among users of all types and
>     be hard
>      > to maintain.  A better approach is to get Bob Muenchen's
>     excellent book
>      > and keep it nearby.
>      >
>      > Frank
> 
>     I whole heartedly agree with Frank here. It may be one thing to have a
>     "translation" process in place based upon some form of logical mapping
>     between the two languages (as Bob's book provides). But is another thing
>     entirely to actually start writing functions that provide wrappers
>     modeled on SAS based PROCs.
> 
>     If you do this, then you only serve to obfuscate the fundamental
>     philosophical and functional differences between the two languages and
>     doom a new useR to missing all of R's benefits. They will continue to
>     try to figure out how to use R based upon their "SAS intuition" rather
>     than developing a new set of coding and even statistical paradigms.
> 
>     Having been through the SAS to S/R transition myself, having used SAS
>     for much of the 90's and now having used R for over 7 years, I can speak
>     from personal experience and state that the only way to achieve the
>     requisite proficiency with R is immersion therapy.
> 
>     Regards,
> 
>     Marc Schwartz
> 
> 


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




More information about the R-help mailing list