Dr. Lance Bachmeier | Links

Software for Econometrics Students

This page was written for graduate students enrolled in my econometrics courses.
  • R (The R Project for Statistical Computing) is a popular statistical programming language. It is used widely outside of econometrics, and has become very popular within econometrics the last few years. The strength of the language is the packages that have been provided by others, with a few relevant packages being MSBVAR (VAR analysis), urca (unit roots and cointegration analysis), gmm (a rather complete generalized method of moments and generalized empirical likelihood package), MCMCpack (Bayesian analysis), systemfit (systems estimation), and np (nonparametric estimation).

    For computationally-intensive tasks, it may be necessary to write some of your code in a compiled language (C, C++, Fortran) and link to your R program. That's very easy to do with R. See this page for an example.

    Note that if you use Windows, you should be downloading a Windows binary file, one that ends with .exe. The most common question I get is from students downloading the source code (.tar.gz). If you don't know the difference between .exe and .tar.gz, you probably don't have much use for source code. For K-State students, the closest mirror is wustl.edu, so the Windows download page is here. If you are running Windows, you will probably also wantTinn-R.

  • Numpy and SciPy are mathematical libraries for Python. Why use Python when R provides so much functionality? Because of the ability to get near-C speed without having to write any C code. Psyco can provide you with nice speed improvements without modifying your code. Cython requires more work, but the end result is performance close to C, without the pain of writing many lines of C code. Note that you can run unmodified R code from Python using rpy. I have used a combination of R and Cython to write fast code with a minimal amount of effort. The set of lecture notes by John Stachurski (who has also written a book on Economic Dynamics) may be of interest. Another reason to use Python is matplotlib, which produces graphics of very high quality.

  • For those needing the performance, or want the other benefits of programming in C, there is Apophenia. It comes with excellent documentation. The description says, "Apophenia is an open statistical library for working with data sets and statistical models. It provides functions on the same level as those of the typical stats package (such as OLS, probit, or singular value decomposition) but gives the user more flexibility to be creative in model-building."

  • Sage Math is unique and worth spending a few hours to learn.
  • gretl is easy to use and is now fairly powerful. You can learn a lot reading the manual even if you don't use gretl.

  • Octave describes itself as “a high-level language, primarily intended for numerical computations.” It is mostly Matlab compatible, so if you don't have Matlab (perhaps on your home computer), you can use Octave and you will also know Matlab for future reference. Micheal Creel has kindly provided a set of econometrics lecture notes, complete with many Octave examples. Octave-Forge has a growing number of packages. You will learn a lot by reading source code written by others, especially those who are competent programmers. You may prefer the QtOctave GUI if you are scared of command line programs.

  • For professional document production, there is LyX. It is a very easy way to use LaTeX without actually knowing anything about LaTeX. Much, much easier to learn than Scientific Word/Scientific Workplace (at least the old versions of those programs).

  • Maxima is a computer algebra system similar to Mathematica or Maple. wxMaxima is a GUI front end for Maxima. It is not as pretty as Mathematica or Maple but it does what I ask it to do.

  • OpenOffice.org is a productivity suite similar to Microsoft Office. The recent releases have seen greatly improved compatibility with MS Office formats.

  • Read more about free software here.

  • Alan Isaac has many links to software for economists.

  • No list of free software would be complete without reference to Linux. Ubuntu, Linux Mint, and Mandriva are all good choices for beginners. They all have helpful forums for even the dumb questions. If you have a good enough computer, the easiest way to learn Linux is by running it in Virtualbox in seamless mode, allowing you to run both Windows and Linux at the same time, but of course then you are using the resources required to run two operating systems at once. I use Slackware, which means my computer runs day after day without problems, no virus/malware issues, no bugs, nothing, but Slackware requires some Linux experience (unless you have a lot of time on your hands and want to learn).


Disclaimer: I accept no liability if you don't like what you download or even if the programs don't work on your computer! I cannot provide technical support, even if you are enrolled in one of my classes. Each program comes with its own documentation and/or support.