# The DO Loop

Statistical programming in SAS with an emphasis on SAS/IML programsThis post is about an estimate, but not the statistical kind. It also provides yet another example in which the arithmetic mean is not the appropriate measure for a computation. First, some background. Last week I read a blog post by Peter Flom that reminded me that it is wrong

Today I'm in San Diego at the 2010 meeting of the Western Users of SAS Software (WUSS). I am giving several presentations on SAS/IML and SAS/IML Studio: A tutorial workshop on SAS/IML Studio for the SAS/STAT User. The material in this tutorial is a small sampling of Chapters 4–11 of

In this blog and in the book Statistical Programming with SAS/IML Software, I present tips and techniques for writing efficient SAS/IML programs for data analysis, simulation, matrix computations, and other topics of interest to statistical programmers. When I was writing my book, one of the reviewers commented that he wasn’t

How can you change a programming trick into a programming treat? Try this algorithm: If you develop a clever snippet of code, squirrel it away. This snippet is a "trick." If you use the trick a second time, copy and modify the code. The trick has become a "treat." If

The SAS/IML language provides the QUAD function for evaluating one-dimensional integrals. You can also use the QUAD function to compute a double integral as an iterated integral. A One-Dimensional Integration Suppose you want to evaluate the following integral: To evaluate this integral in the SAS/IML language: Define a function module

I was recently asked how to create a tridiagonal matrix in SAS/IML software. For example, how can you easily specify the following symmetric tridiagonal matrix without typing all of the zeros? proc iml; m = {1 6 0 0 0, 6 2 7 0 0, 0 7 3 8 0,