Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: RE: Statalist advice: a summary


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: RE: Statalist advice: a summary
Date   Wed, 23 May 2012 16:41:19 +0100

There's much more history in Stata Journal 5(1). The whole issue is
way out of the 3-year window, so everyone can look. Bill tells much
more of the two men in a California garage story about Stata's early
years. (Well, not the garage.)

http://www.stata-journal.com/sj5-1.html

On Wed, May 23, 2012 at 4:29 PM, William Gould, StataCorp LP
<[email protected]> wrote:
> Richard Williams <[email protected]> wrote,
>
>> The first version of Stata was in fact called STATA. Old habits just
>> die hard for some people.
>
> I didn't remember that, but it's true.
>
> I just had someone open the display cabinet outside the Main
> Conference Room in Building 2 and I retrieved from it the first copy
> of "The Stata User's Guide", First Edition, November 1984.  The book
> still looks good.
>
> The book is jarring to open because, rather than being typeset -- or
> TeXset -- the camera-ready pages were produced on a IBM Selectric
> typewriter.
>
> And there it was:  STATA.  It was all through the little 152-page book.
> Early on there's even an illustration of invoking Stata:
>
>        A> stata
>
>        ==S=T=A=T=A==1.0  Copyright (C) 1984 by ==C=R=C==
>
>        . _
>
> I learned that Stata 1.0 had 46 commands:
>
>     1. #delimit {cr | ;}
>
>     2. #review [# [#]]
>
>     3. append using <filename>
>
>     4. beep
>
>     5. by <varlist>: <STATA_command>
>
>     6. capture <STATA_command>
>
>     7. confirm existence   [<string>]
>                variable    [<varlist>]
>                newvariable [<varlist>]
>
>     8. convert [<varlist>] [in] [if] [=<exp>]
>
>     9. [by:] correlate [<varlist>] [=<exp>] [in] [if]
>
>    10. [by:] count [in] [if]
>
>    11. describe [ {<varlist> | using <filename> ]
>
>    12. dir <DOS_file_specification>
>
>    13. discard
>
>    14. display [[=<exp> | "<string>"] ...] [if]
>
>    15. do <filename> [<parameterlist>]
>
>    16. drop <varlist>
>        [by:] drop in <range> [if <exp>]
>        [by:] drop if <exp>   [in <range>]
>
>    17. erase <DOS-file_specification>
>
>    18. exit [if <exp>]
>
>    19. expand =<exp> [if] [in]
>
>    20. format <varlist> <%fmt>
>
>    21. [by:] generate <newvar> = <exp> [if] [in]
>
>    22. help [<command_name>]
>
>    23. infile <newvarlist> [_skip[(<#>)]] [...] using <filename> [if] [in]
>
>    24. input <newvarlist>
>
>    25. label data     "<label>"
>        label variable "<Label>"
>        label values   <labelname>
>        label define   <labelname> <#> "<label>" ...
>        label drop     <labelnamelist>
>        label list     <labelnamelist>
>        label save     <labelnamelist> using <filename>
>
>    26. [by:] list [<varlist>] [if] [in]
>
>    27. macro define <macroname> "<string>"
>        macro dir
>        macro drop <macronamelist>
>        macro list <macronamelist>
>
>    28. merge [<varlist>] using <filename>
>
>    29. [by:] modify [<varlist>] [in] [if]
>
>    30. more
>
>    31. outfile [<varlist>] using <filename> [in] [if]
>
>    32. [by:] plot <yvar1> [<yvar2> ...] <xvar> [in] [if]
>
>    33. query
>
>    34. [by:] regress <yvar> [<varlist1> [(<varlist2>)]] [=<exp>] [if] [in]
>
>    35. rename <oldvarname> <newvarname>
>
>    36. [by:] replace <varname> = <exp> [if] [in]
>
>    37. run <filename> [<parameterlist>]
>
>    38. save <filename>
>
>    39. set beep     {on       | off}
>            contents {data     | xp}
>            display  {linesize | pagesize} <#>
>            encode   "<string>"
>            help     <filename>
>            maxobs   <#> [lrecl <#>]
>            maxvar   <#> [lrecl <#>]
>            more     <#>
>            obs      <#>
>            output   {proc | inform | error}
>            prefix   <string>
>            seed     <#>
>            spool    {linesize | pagesize} <#>
>            type     {int | long | float | double}
>
>    40. sort <varlist> [in]
>
>    41. spool { using <filename> | on | off | close }
>
>    42. [by:] summarize [<varlist>] [=<exp>] [if] [in]
>
>    43. [by:] tabulate [<varlist>] [=<exp>] [if] [in]
>
>    44. test <exp> = <exp>
>
>    45. type <filename>
>
>    46. use <filename>
>
>
> I should explain that -spool- (#39 and #41) was the original word
> for -log- and that -set beep on- (#39) was one of the more useful
> commands.  -set beep- made an audible beep once a command finished,
> which woke you up.  Here are some run times:
>
>     . summarize                    (50 obs/12 vars)   7.84 secs
>     . summarize resid, detail      (50 obs)           9.93
>     . regress provit exp exp2      (20 obs)          12.80
>     . sort resid                   (50 obs)           2.73
>     . generate newvar = ...        (50 obs)           1.94
>     . tabulate rescat              (50 obs)           4.91
>
> In those days, you could not turn rmsg turned off, so run times
> are throughout the manual.  You couldn't turn rmsg off because we
> were proud of them.  Stata ran like greased lightening.
>
> Okay, I'll stop being self-indulgent now.
>
> -- Bill
> [email protected]
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index