COURSE OVERVIEW

 

The objective of TStat Training’s more advanced course is to provide participants with the programming commands and options required to autonomously develop and modify Stata ADO files. The opening session offers a quick overview of the fundamental concepts and commands (macros, vectors, scalers, looping, branching, temporary objects, foreach, forvalues) intrinsic to successful programming development. Session two moves on to illustrate the most effective way to develop a Stata ADO file, introducing participants to more specific programming concepts (such as arguments, local subroutines and the temporary storing of results) and Stata’s programming commands tokenize, macro shift, marksample and markout “byable” and sortpreserve. In section three participants are introduced to Stata’s inbuilt matrix capabilities, before moving on in the final session to developing their own programs for linear and maximum likelihood estimators.

 

TARGET AUDIENCE

 

Researchers or professionals with a good knowledge of the introductory programming skills covered on our A Little bit of Programming goes an Awfully Long Way.. wishing to take their programming skills to the next level in order to be able to program their only Stata ADO files for data analysis and data management and to develop Stata commands for least squares and maximum-likelihood estimators.

 

PREREQUISITES

 

It is assumed that participants have a sound working knowledge of Stata and are familiar with the concepts and Stata commands treated in our introductory Stata programming course: A Little bit of Programming goes an Awfully Long Way..


PROGRAM

 

SESSION I: PROGRAMMING BASICS | A QUICK REVIEW

 

Macros

 

Global macros
Local macros

 

Scalars and matrices
Temporary objects
Looping
Branching

 

SESSION II: WRITING STATA PROGRAMS

 

Programming in Stata
Do-files and ADO-files
Writing and modifying a Stata programs
Programs without arguments
Programs with positional arguments
Programs with named positional arguments
Storing and retrieving program results
Programs with arguments using the “syntax” construct
Using tokenize and macro shift
ADO-files
Implementing program options
The return statements
Sample restriction with marksample and markout
Making a command “byable
The use of sortpreserve
Writing an rclass ADO-file
Implementing program options
Sample restrictions with marksample
The usefulness of markout

 

 

 

 

Make a program “byable
The use of sortpreserve
Writing an eclass ADO-file
More on storing results in e()
A eclass program template
Temporarily destroying the data in memory
Local sub-routines

 

SESSION III: STATA MATRIX CAPABILITIES

 

Stata matrix commands
Stata matrix input and output
Matrix input from Stata estimation results
Stata matrix subscripts and combining matrices
Matrix operators
Matrix functions
Defining a macro by a matrix function
Matrix accumulation commands

 

SESSION IV: PROGRAMMING ESTIMATORS

 

Programming Linear Least Squares estimation
Programming Maximum Likelihood estimation
Some examples

 

COURSE REFERENCES

 

An Introduction to Stata Programming, Christopher F. Baum, Second Edition, Stata Press 2016