I began 2014 by compiling a list of 13 popular articles from my blog in 2013. Although this "People's Choice" list contains many articles that I am proud of, it did not include all of my favorites, so I decided to compile an "Editor's Choice" list. The blog posts on today's list were not widely popular, but they deserve a second look because they describe SAS computations that are elegant, surprising, or just plain useful.

I often write about four broad topics: the SAS/IML language, statistical programming, simulating data, and data analysis and visualization. My previous article included five articles on statistical graphics and data analysis, so here are a few of my favorite articles from the other categories.

### The SAS/IML language and matrix programming

Here are a few articles that can help you get more out of the SAS/IML product:

- How to read data sets whose names are contained in an array
- Empty subscripts: How to fill rows and columns of a matrix
- Two related articles: How to generate permutations and how to generate combinations in SAS
- Using the SAS macro facility in SAS/IML programs can be challenging because PROC IML is an interactive procedure. This article describes how to incorporate a macro into a SAS/IML loop.

Serious SAS/IML programmers should read my book *Statistical Programming with SAS/IML Software*.

### Simulating data with SAS

Here are a few of my favorite articles from 2013 about efficient simulation of data:

- Picking a favorite blog post is like picking a favorite child (I love them all!), but my article about why you should expect duplicate values in random number streams is one that I enjoyed writing and still enjoy reading.
- Efficiency is a key to successful simulations, and this article shows how and why you should turn off ODS when you run simulations.
- Speaking of efficiency, here is an efficient implementation of an acceptance-rejection algorithm in a vector language
- The multinomial distribution is useful for generating multivariate mixture models and clusters. In two related articles I show how to simulate multinomial data by using SAS/IML software and how to simulate multinomial data in Base SAS or SAS/STAT.

Readers who want to learn more about simulating data might enjoy my book *Simulating Data with SAS*, which contains hundreds of examples and exercises.

### Statistical programming and computing

Much of my formal training is in numerical analysis and matrix computations. Here are a few interesting computational articles that I wrote. Be warned: some of these articles have a high "geek factor"!

- Aggregating data into bins is a fundamental operation in statistical data analysis. I wrote one article about how to bin data by using custom cut points, and another about how to bin two-dimensional data.
- The ability to vectorize computations in a matrix-vector language is essential for writing efficient programs. This article describes how to convert an inefficient program with many loops into a vectorized program. A related article shows the huge performance improvements that result from vectorization.
- A SAS customer asked how to compute contours of the bivariate normal cumulative distribution, so I wrote an article that specifies the computational details.
- The incomplete beta function is not a function that gets used very often, but if you ever need it, here's how to compute the incomplete beta function in SAS.

There you have it, my choice of 12 articles that I think are worth a second look. What is your favorite post from *The DO Loop* in 2013? Leave a comment.