Tricks for Using Word to Make Statistical Syntax Easier

We’ve talked a lot around here about the reasons to use syntax — not only menus — in your statistical analyses.

Regardless of which software you use, the syntax file is pretty much always a text file. This is true for R, SPSS, SAS, Stata — just about all of them.

This is important because it means you can use an unlikely tool to help you code: Microsoft Word.

I know what you’re thinking. Word? Really?

Yep, it’s true. Essentially it’s because Word has much better Search-and-Replace options than your stat software’s editor.

Here are a couple features of Word’s search-and-replace that I use to help me code faster:

1. Searching and replacing tabs and hard returns

A lot of times when you’re working with syntax, you’ll find that you need to insert a tab or a hard return after every semi-colon. Or in the middle of a list of variables. This is very easy to do in Word.

Let’s say that everywhere I have BY in my code, I’d like a tab before it instead of a space. (You’ll see why I need this below.) I can just do the following:

In case it’s not clear, there is a space before the BY in “Find what:” and a ^t before the BY in “Replace with.”

In Word ^t is the tab mark. (The hard return — a.k.a. paragraph mark — is ^p). But if you forget, you get the full list by clicking on the More button, then the Special button:

2. Copying columns of text

Whether it’s code or output, there are times you’d like to copy a column of text out of a text file.

For example:

Let’s say you’re doing descriptive statistics before beginning an analysis and you’re running a series of crosstabs. Here is the syntax for doing this in SPSS:

Now granted, this is a small data set with only a few variables, but imagine you had 40 categorical variables instead of 5. If I tried to copy the variables out of SPSS, I could only grab the entire lines of text, highlighted below:

That certainly works, but then I would have to clean up all the words before and after it. And that is slow.

But Word will let me copy out a column of text. Here’s how:

  1. Copy and paste the whole thing into Word.
  2. Make sure that all the words I want to copy are in a column of text. In other words, I need enough blank spaces after gender, ethnicity, and edulevel that the BYs are all on top of each other (you’ll see why on the next step).

To do this, I search for the space before each BY and replace with a tab, as seen above. It will result in this:

Holding down the Alt key before copying allows you to select values straight down in a column. This is why I needed all the BY’s to be moved to the right or some of them would have been included in my selection.

I can now paste my list as a vertical column.

If I want them horizontal in my code, I can just search for the paragraph marks (^p) and replace them with spaces.

It also works nicely when pulling output from R, which is also just text. Let’s say I wanted to just copy out the coefficients from my regression model. I could use Alt to select just the column of coefficients, like this:

So that’s that. Pretty cool, right?

Reader Interactions


  1. Gary Klein says

    I sort of prefer Notepad++ to Word. It can easily do column blocks like your example (in fact the identical way), but since SPSS syntax files are text, as are the Notepad files (unlike Word), I don’t need to go back and forth pasting to the SPSS syntax file but can complete all my syntax work in Notepad++. There are other plusses in the way one can maneuver across files in ++, and it gets a third + for being free!

Leave a Reply

Your email address will not be published. Required fields are marked *

Please note that, due to the large number of comments submitted, any questions on problems related to a personal study/project will not be answered. We suggest joining Statistically Speaking, where you have access to a private forum and more resources 24/7.