All Posts

When I joined SAS Institute I had no knowledge of SAS. I studied, researched and practiced. The questions I asked would make even the most seasoned programmer blush a beetroot red! Those were an intense nine months—I’ll tell you more in a later post about the learning system at SAS

When I finished writing my book, Statistical Programming with SAS/IML Software, I was elated. However, one small task still remained. I had to write the index. How Long Should an Index Be? My editor told me that SAS Press would send the manuscript to a professional editor who would index

Paula Joshi wrote last month about how what we learn from the commercial world can be applied in government. She also promised to post a few examples. I’ll get that ball rolling. This week SAS announced the availability of SAS Enterprise Case Management. While the announcement focuses more on the

Recently, I needed to detect whether a matrix consists entirely of missing values. I wrote the following module: proc iml; /** Module to detect whether all elements of a matrix are missing values. Works for both numeric and character matrices. Version 1 (not optimal) **/ start isMissing(x); if type(x)='C' then

NOTE: SAS stopped shipping the SAS/IML Studio interface in 2018. The references in this article to IMLPlus and SAS/IML Studio are no longer relevant. There are three kinds of programming errors: parse-time errors, run-time errors, and logical errors. It doesn't matter what language you are using (SAS/IML, MATLAB, R, C/C++,

I helped to write a quiz for the Computer Science Education Week promotions that were featured on our company intranet. Do you fancy yourself as a Comp-Sci aficionado? Let's see how you do with these. 1. Which achievement is Charles Babbage most famous for? A. Establishing software retail shops in

While insufficiently endowed to be called a "get rich quick" scheme, here is a good way to pocket an extra $5,000 for your holiday shopping budget, and contribute to the body of forecasting knowledge. For the ninth straight year, SAS announces funding of two $5,000 research grants to be awarded

Imagine you are attending the BCS National Championship game next month. You have invested top dollar in your seats and you have been anticipating the game for weeks. You settle in to your seat with your hot dog, soft pretzel, and your favorite beverage a few minutes before kick-off because

Both covariance matrices and correlation matrices are used frequently in multivariate statistics. You can easily compute covariance and correlation matrices from data by using SAS software. However, sometimes you are given a covariance matrix, but your numerical technique requires a correlation matrix. Other times you are given a correlation matrix,

I connect to more SAS server environments than your average SAS user. In a given week, I probably run SAS Enterprise Guide connecting to at least five different Windows-based servers, a few Unix-based servers, and maybe even a z/OS machine as well. With that many SAS environments, I'm bound to

Sample covariance matrices and correlation matrices are used frequently in multivariate statistics. This post shows how to compute these matrices in SAS and use them in a SAS/IML program. There are two ways to compute these matrices: Compute the covariance and correlation with PROC CORR and read the results into

I enjoy reading about the Le Monde puzzles (and other topics!) at Christian Robert's blog. Recently he asked how to convert a number with s digits into a numerical vector where each element of the vector contains the corresponding digit (by place value). For example, if the number is 4321,

Computer science is more than the pursuit of "let's see what we can make this computer do." If that's your only goal, then you might make a fine computer geek, but a lousy computer scientist. In her blog post for Computer Science Education Week, Caroline McCullen reminds us that computer

The SAS/IML language enables you to perform matrix-vector computations. However, it also provides a convenient "shorthand notation" that enables you to perform elementwise operation on rows or columns in a natural way. You might know that the SAS/IML language supports subscript reduction operators to compute basic rowwise or columnwise quantities.

I'm back in the office after two enjoyable days at the Internet Summit in Raleigh, NC. (I hadn't seen that many nerds since the family reunion on my dad's side.) Among the many good sessions was one about building your blog audience by making the blog more search friendly. The