| 
    
 |   | 
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
Re: st: transformations in commands
On Jun 2, 2006, at 9:58 AM, Feiveson, Alan H. wrote:
I have been demonstrating the wonders of Stata to users of R and  
have been embarrassed by their criticism of Stata's inability to  
transform a variable within the syntax of a command. For example  
reg y log(x) won't work.
I wouldn't be embarrassed about that.  Classic Stata (excluding Mata)  
is a statement-oriented language, whereas R is an expression-oriented  
language.  And there are things you can do with the latter (e.g.,  
form nested expressions) that you just can't do with the former.   
However, I would argue that Stata's command syntax is one of the  
things that makes Stata, as an analytic package, easier to use,  
especially for beginners and infrequent users.  For example, compare
fm <- lm(mpg ~ weight, data=auto)
summary(fm)
to
sysuse auto
reg mpg weight
I would argue that for many people (especially non-programmers), the  
latter is easier to learn.  Virtually all Stata commands follow a  
simple, common syntax, and once you've mastered that, you're off to  
the races.  Very efficient for getting work done.
Those who are used to making full use of an expression-oriented  
environment are not going to be satisfied simply with being able to  
type "reg y log(x)" at the command line, which, as compared to having  
to create a variable containing log(x) first, is essentially just  
syntactic sugar.  Moreover, someone used to the fundamentally object- 
oriented nature of R is likely to miss that in Stata a lot more.
BTW, the introduction of Mata fundamentally changes this comparison  
(Mata is much more expression-oriented).  Have you shown Mata to your  
"R" friends?
For someone who knows the R language very well and likes it, you're  
unlikely to get him or her to abandon it entirely in favor of Stata  
(the best you could do might be to get him or her to use Stata  
occasionally).  This is no different from trying to get a developer  
to stop using his or her favorite programming language.  However,  
Stata has a myriad of compelling strengths.  Consider just these few:
    - A simply unequaled level of support and documentation
    - A virtually bullet-proof certification process
    - Covers an incredible and ever-growing range of statistical
      models over a wide variety of disciplines
    - Provides a unified approach to things such as survey data,
      alternative methods of variance estimation, etc. across the
      full set of analytic commands (with only a few exceptions)
    - Excellent performance (e.g., speed)
    - Unequaled cross-platform support
    - Highly capable and flexible graphics (of course R has
      excellent graphics too)
    - Great tools and support for "developers" (i.e., writers of
      3rd-party commands and tools)
    - A high quality journal covering new analytic methods,
      data management tools, techniques for using Stata, etc.
    - Mata, Mata, Mata!
    - etc.
Please note that this is just what leaps to mind, is obviously  
incomplete, and is in no way intended to be a serious evaluation.   
Moreover, I have nothing against R, and must confess that I am at  
best a casual R user and so am completely unqualified to comment on  
its capabilities.  However, I just wanted to point out that when  
evangelizing for Stata, there's enough to keep you in the pulpit for  
hours, and the very last thing you should feel is embarrassed ;)
-- Phil
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/