Computer Tools for Social Scientists
Version Control|SAS | Stata | Python | Linear Algebra | Tools for writing documents containing math
- I've become a fan of jEdit which is a free, powerful text editing program. While it's definitely written by technical people for technical people, its user interface is far more standard than that of Vi and my old tool of choice, Emacs. It's not configured right for my purposes out of the box, so I have compiled some thoughts about configuring it.
- Some Notes on Text Editors for Stata Users This is -- unfortunately -- not very clear about which text editors have a fairly standard windows interface; nor is it clear about which have fantastically useful features like incremental search.
- (A couple free, very powerful, widespread editors with nonstandard old interfaces, and steep learning curves are: Vi and Emacs. I personally use Emacs and found this Reference card useful. Note that emacs abbreviates the CTRL key as "C" and the ALT ("meta") key as "M" and that it calls cutting "killing" and pasting "yanking". If you want an editor that acts like a normal windows program, there are many other good choices.)
- My friends who are serious programmers tell me that "Source control is essential for any projects of one or more lines of code with one or more programmers." The case for version control is particularly strong when more than one person is working on the same project. Subversion is a powerful and popular choice. Subversion has UNIX command line roots, but TortoiseSVN adds graphical subversion controls to the Windows shell.
- Some notes about Subversion and especially starting a new project in subversion.
Material from our class
(Our handouts as MS Word .doc files: General, Procedures, and Data Steps)
Format.SAS is a macro that automates writing proc format statements that have several bins, each of the same size.
Python: for e.g. custom computations, text processing, and automating downloads
Python is a friendly, free, general purpose language that can automate complex downloads from the web, doing custom linear algebra tasks, processing text files, or a variety of other things. Its name is reference to the Monty Python comedy group which is a very good sign.
Text Processing in Python
I have been using Python to create publication-ready LaTeX tables from regression results in stata .log files that also contain detailed variable labels reported with a "describe, fullnames" command. I've then used python to combine tables reporting a single regression into "wide" tables that report multiple regressions. I hope to clean up and better comment this code soon and to make it recognize regressions containing output in Stata's standard scientific notation like 5.3e-10.
Rob has developed notes that introduce the linear algebra you need to know for econometrics. the LaTeX source for my linear algebra notes allows you to modify these notes, or just see how he typeset them.
Tools for creating mathematically intensive documents
Rob is a fan of the LaTeX typesetting system for creating documents that include a lot of mathematics. In particular, he recommends using two free programs: MiKTeX to do the typesetting and TeXnicCenter to edit the source files. You can find information about
getting started with LaTeX online or in Leslie Lamport's LaTeX book. The NatBib bibliography package which makes it easy to create cites like Borenstein (2007) and the SetSpace package for adjusting document spacing
Some folks I know have bought Scientific Word / Scientific Workplace which puts a nice interface over LaTeX. One other friend swears by a similar, free system, LyX
Web design and HTML
- I learned HTML such a long time ago that many of my favorite sources are no longer on the web.
- Netscape's overview of HTML tables and examples are dated but provide a concise overview of a powerful set of tools.
The opinions expressed here are only those of the authors and do not necessarily represent those of their employers or coworkers.
please send questions or comments to: the e-mail address formed by creating an abbreviation from the first letters of each word of computer tools social scientists. Write that abbreviation followed by - at sign - allorama.org