Course length: | 7 weeks (5 lessons) |
Price: | USD 175 |
Course leaders: | Kerry Kammire and Derek Wagner |
Prerequisites: | Stata 17 installed and working. |
Lesson 1
Lesson 2
Lesson 3
Lesson 4
Lesson 5
Lesson 1
Parsing Stata syntax/Stata programming basics
- Review of Stata’s programming features
- Parsing
- Parsing options
- Parsing complicated syntax
- Aside on subprograms
Lesson 2
Parsing Stata syntax, continued: Quotes, returned results, and subsamples
- Quotes
- Development continues
- Temporary variables
- Development continues
- An aside concerning r()
- Programming the formulas
- Putting it together
Lesson 3
Using scalars and macros and introduction to low-level parsing
- What you must learn
- Scalars
- Binary accuracy
- Accuracy of macros versus scalars
- Converting a program from macros to scalars
- Handling by() options
- Sorting
- Low-level parsing
- Programming immediate commands
- Rewriting mytt in terms of mytti
- Parsing new variables
Lesson 4
Returning results and writing estimation commands
- Where are we?
- Stored results
- What can be returned in r()?
- Referring to returned results in other programs
- Referring to returned results in the program that sets them
- Other types of returned values: s() and e()
- S-class returned values
- E-class returned results
- Writing postestimation commands
- Writing an estimation (e-class) command
- An alternative estimation command outline
- Writing estimation commands from first principles
- Writing estimation commands via maximum likelihood
Lesson 5
List processing, controlling program output, and naming conventions
- Restricting commands to the relevant subsample
- Which is better: marksample or mark?
- Programming by varlist:
- Lists
- Creating lists
- Stepping through list elements one by one
- Deleting elements from lists
- Adding elements to lists
- Macro vectors
- Parsing revisited: gettoken
- quietly blocks
- The relation between capture and quietly
- capture blocks
- Naming conventions
- Program-naming convention
- Calling convention
- Version control