[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)
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
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!
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 ;)
* For searches and help try: