Ritme Informatique
spécialiste du logiciel scientifique
demande d'info
recherche
contact
bienvenue
accueil
produits
formations
services
support
tarifs
logiciels scientifiques

stata

Demande de devis

Retour à la liste
stata

An Introduction to Stata Programming

Christopher F. Baum

Table of Contents

List of tables
List of figures
Preface (pdf)
Acknowledgments
Notation and typography

1 Why should you become a Stata programmer?

Do-file programming
Ado-file programming
Mata programming for ado-files

  • 1.1 Plan of the book
  • 1.2 Installing the necessary software

2 Some elementary concepts and tools

  • 2.1 Introduction
    • 2.1.1 What you should learn from this chapter
  • 2.2 Navigational and organizational issues
    • 2.2.1 The current working directory and profile.do
    • 2.2.2 Locating important directories: sysdir and adopath
    • 2.2.3 Organization of do-files, ado-files, and data files
  • 2.3 Editing Stata do- and ado-files
  • 2.4 Data types
    • 2.4.1 Storing data efficiently: The compress command
    • 2.4.2 Date and time handling
    • 2.4.3 Time-series operators
  • 2.5 Handling errors: The capture command
  • 2.6 Protecting the data in memory: The preserve and restore commands
  • 2.7 Getting your data into Stata
    • 2.7.1 Inputting data from ASCII text files and spreadsheets
      • Handling text files
      • Free format versus fixed format
      • The insheet command
      • Accessing data stored in spreadsheets
      • Fixed-format data files
    • 2.7.2 Importing data from other package formats
  • 2.8 Guidelines for Stata do-file programming style
    • 2.8.1 Basic guidelines for do-file writers
    • 2.8.2 Enhancing speed and efficiency
  • 2.9 How to seek help for Stata programming

3 Do-file programming: Functions, macros, scalars, and matrices

  • 3.1 Introduction
    • 3.1.1 What you should learn from this chapter
  • 3.2 Some general programming details
    • 3.2.1 The varlist
    • 3.2.2 The numlist
    • 3.2.3 The if exp and in range qualifiers
    • 3.2.4 Missing data handling
      • Recoding missing values: The mvdecode and mvencode commands
    • 3.2.5 String-to-numeric conversion and vice versa
      • Numeric-to-string conversion
      • Working with quoted strings
  • 3.3 Functions for the generate command
    • 3.3.1 Using if exp with indicator variables
    • 3.3.2 The cond() function
    • 3.3.3 Recoding discrete and continuous variables
  • 3.4 Functions for the egen command
    • Official egen functions
    • egen functions from the user community
  • 3.5 Computation for by-groups
    • 3.5.1 Observation numbering: _n and _N
  • 3.6 Local macros
  • 3.7 Global macros
  • 3.8 Extended macro functions and macro list functions
    • 3.8.1 System parameters, settings, and constants: creturn
  • 3.9 Scalars
  • 3.10 Matrices

4 Cookbook: Do-file programming I

  • 4.1 Tabulating a logical condition across a set of variables
  • 4.2 Computing summary statistics over groups
  • 4.3 Computing the extreme values of a sequence
  • 4.4 Computing the length of spells
  • 4.5 Summarizing group characteristics over observations
  • 4.6 Using global macros to set up your environment
  • 4.7 List manipulation with extended macro functions
  • 4.8 Using creturn values to document your work

5 Do-file programming: Validation, results, and data management

  • 5.1 Introduction
    • 5.1.1 What you should learn from this chapter
  • 5.2 Data validation: The assert, count, and duplicates commands
  • 5.3 Reusing computed results: The return and ereturn commands
    • 5.3.1 The ereturn list command
  • 5.4 Storing, saving, and using estimated results
    • 5.4.1 Generating publication-quality tables from stored estimates
  • 5.5 Reorganizing datasets with the reshape command
  • 5.6 Combining datasets
  • 5.7 Combining datasets with the append command
  • 5.8 Combining datasets with the merge command
    • 5.8.1 The dangers of many-to-many merges
  • 5.9 Other data-management commands
    • 5.9.1 The fillin command
    • 5.9.2 The cross command
    • 5.9.3 The stack command
    • 5.9.4 The separate command
    • 5.9.5 The joinby command
    • 5.9.6 The xpose command

6 Cookbook: Do-file programming II

  • 6.1 Efficiently defining group characteristics and subsets
    • 6.1.1 Using a complicated criterion to select a subset of observations
  • 6.2 Applying reshape repeatedly
  • 6.3 Handling time-series data effectively
  • 6.4 reshape to perform rowwise computation
  • 6.5 Adding computed statistics to presentation-quality tables
    • 6.5.1 Presenting marginal effects rather than coefficients
  • 6.6 Generating time-series data at a lower frequency

7 Do-file programming: Prefixes, loops, and lists

  • 7.1 Introduction
    • 7.1.1 What you should learn from this chapter
  • 7.2 Prefix commands
    • 7.2.1 The by prefix
    • 7.2.2 The xi prefix
    • 7.2.3 The statsby prefix
    • 7.2.4 The rolling prefix
    • 7.2.5 The simulate and permute prefix
    • 7.2.6 The bootstrap and jackknife prefixes
    • 7.2.7 Other prefix commands
  • 7.3 The forvalues and foreach commands

8 Cookbook: Do-file programming III

  • 8.1 Handling parallel lists
  • 8.2 Calculating moving-window summary statistics
    • 8.2.1 Producing summary statistics with rolling and merge
    • 8.2.2 Calculating moving-window correlations
  • 8.3 Computing monthly statistics from daily data
  • 8.4 Requiring at least n observations per panel unit
  • 8.5 Counting the number of distinct values per individual

9 Do-file programming: Other topics

  • 9.1 Introduction
    • 9.1.1 What you should learn from this chapter
  • 9.2 Storing results in Stata matrices
  • 9.3 The post and postfile commands
  • 9.4 Output: The outsheet, outfile, and file commands
  • 9.5 Automating estimation output
  • 9.6 Automating graphics
  • 9.7 Characteristics

10 Cookbook: Do-file programming IV

  • 10.1 Computing firm-level correlations with multiple indices
  • 10.2 Computing marginal effects for graphical presentation
  • 10.3 Automating the production of LATEX tables
  • 10.4 Tabulating downloads from the Statistical Software Components archive
  • 10.5 Extracting data from graph files’ sersets
  • 10.6 Constructing continuous price and returns series

11 Ado-file programming

  • 11.1 Introduction
    • 11.1.1 What you should learn from this chapter
  • 11.2 The structure of a Stata program
  • 11.3 The program statement
  • 11.4 The syntax and return statements
  • 11.5 Implementing program options
  • 11.6 Including a subset of observations
  • 11.7 Generalizing the command to handle multiple variables
  • 11.8 Making commands byable
    • Program properties
  • 11.9 Documenting your program
  • 11.10 egen function programs
  • 11.11 Writing an e-class program
    • 11.11.1 Defining subprograms
  • 11.12 Certifying your program
  • 11.13 Programs for ml, nl, nlsur, simulate, bootstrap, and jackknife
    • Writing an ml-based command
    • 11.13.1 Programs for the nl and nlsur commands
    • 11.13.2 Programs for the simulate, bootstrap, and jackknife prefixes
  • 11.14 Guidelines for Stata ado-file programming style
    • 11.14.1 Presentation
    • 11.14.2 Helpful Stata features
    • 11.14.3 Respect for datasets
    • 11.14.4 Speed and efficiency
    • 11.14.5 Reminders
    • 11.14.6 Style in the large
    • 11.14.7 Use the best tools

12 Cookbook: Ado-file programming

  • 12.1 Retrieving results from rolling:
  • 12.2 Generalization of egen function pct9010() to support all pairs of quantiles
  • 12.3 Constructing a certification script
  • 12.4 Using the ml command to estimate means and variances
    • 12.4.1 Applying equality constraints in ml estimation
  • 12.5 Applying inequality constraints in ml estimation
  • 12.6 Generating a dataset containing the single longest spell

13 Mata functions for ado-file programming

  • 13.1 Mata: First principles
    • 13.1.1 What you should learn from this chapter
  • 13.2 Mata fundamentals
    • 13.2.1 Operators
    • 13.2.2 Relational and logical operators
    • 13.2.3 Subscripts
    • 13.2.4 Populating matrix elements
    • 13.2.5 Mata loop commands
    • 13.2.6 Conditional statements
  • 13.3 Function components
    • 13.3.1 Arguments
    • 13.3.2 Variables
    • 13.3.3 Saved results
  • 13.4 Calling Mata functions
  • 13.5 Mata’s st_ interface functions
    • 13.5.1 Data access
    • 13.5.2 Access to locals, globals, scalars, and matrices
    • 13.5.3 Access to Stata variables’ attributes
  • 13.6 Example: st_ interface function usage
  • 13.7 Example: Matrix operations
    • 13.7.1 Extending the command
  • 13.8 Creating arrays of temporary objects with pointers
  • 13.9 Structures
  • 13.10 Additional Mata features
    • 13.10.1 Macros in Mata functions
    • 13.10.2 Compiling Mata functions
    • 13.10.3 Building and maintaining an object library
    • 13.10.4 A useful collection of Mata routines

14 Cookbook: Mata function programming

  • 14.1 Reversing the rows or columns of a Stata matrix
  • 14.2 Shuffling the elements of a string variable
  • 14.3 Firm-level correlations with multiple indices with Mata
  • 14.4 Passing a function to a Mata function
  • 14.5 Using subviews in Mata
  • 14.6 Storing and retrieving country-level data with Mata structures
  • 14.7 Locating nearest neighbors with Mata
  • 14.8 Computing the seemingly unrelated regression estimator
  • 14.9 A GMM-CUE estimator using Mata’s optimize() functions

References
Author index (pdf)
Subject index (pdf)