Next week we'll be celebrating Computer Science Education Week. SAS is a partner in this event, which makes complete sense because we have a vested interest in creating more computer scientists. After all, SAS does employ a lot of them. When I was enrolled in a computer science program (sometime
Uncategorized
Japan has a superfast train called the Shinkansen. The first I heard of it was when my sister visited Japan on a scholarship. Engine-awestruck, we wanted a ride, but weren’t able to get to Japan. Nor, did we know the language. (With over 5000 kanjis, it took my sister 3
Errors. We all make them. After all, “to err is human.” Or, as programmers often say, “To err is human, but to really foul things up requires a computer” (Farmer’s Almanac, 1978). This post describes how to interpret error messages from PROC IML that appear in the SAS log. The
Update 25Nov2010: I've updated this example to correct the code so that it works correctly for positive UTC offsets. Thanks to Bruno Müller, my colleague at SAS, for finding my mistakes. One of my SAS colleagues was recently working on a project where she had to create reports that include
Many people mistakenly assume that just because you want to use a SAS program to access a protected resource (such as a database table), you must include the credentials for the resource inside your program. Few things cause a database administrator to lose more sleep than coming across this within
I am thankful to be a statistical programmer. When I wake up in the morning, I am eager to start my day. I love statistics, programming, and working at SAS, and I write my blog to share that joy. This a Golden Age for statistical programmers because theoretical ideas and
It was over two years ago that I shared the tip of using Process Explorer to look under the covers at which SAS processes were running on your Windows environment. Process Explorer recently received a refresh, and it's worth downloading the new version. (Yes, it's free.) If you want to
I give many presentations and workshops on how to use SAS/IML Studio, and more than once I have been asked about how to launch the program. Sometimes the inquiry hints at mild frustration, such as last week's "How do I RUN the $%#@# THING!!!!" The email I got this week
The recent mail bomb attempt on US-bound cargo and commercial airliners is another reminder of the terrorist threat the United States continues to face. While there may be a lull in the news cycles from time to time, the threat is there every day. A key component in detecting and
I was building a nice little PDF report the other day. I love the way ODS PDF replicates the SAS Results window navigation structure as PDF bookmarks, but... I'd much rather write the text for the bookmarks myself. So, I decided to "use the SAS" and make ODS do my
Many SAS users receive data in the form of CSV (Comma Separated Value) files, and need to convert them to SAS data sets. A typical record in a CSV file might look like this: Jeter,Derek,1995,,234,”22,600,000” Note the following about the record above: There is no data for the fourth field,
In a previous post, I used statistical data analysis to estimate the probability that my grocery bill is a whole-dollar amount such as $86.00 or $103.00. I used three weeks' grocery receipts to show that the last two digits of prices on items that I buy are not uniformly distributed.
In a previous post, I discussed computing regression coefficients in different polynomial bases and showed how the coefficients change when you change the basis functions. In particular, I showed how to convert the coefficients computed in one basis to coefficients computed with respect to a different basis. It turns out
Are you afraid of big commitments? Do you like to shop around thoroughly before making a purchase decision? I can't help you with most of Life's Big Choices, but I can help you in one way: I can show you how to learn more about your data set before you
Some of you will remember that in the very early versions of SAS Enterprise Guide, we introduced a unique approach to helping you to learn SAS: an animated "agent" who could suggest your next steps within your project. We furloughed the agent (who appeared usually as a wizard, genie, or
I am pleased to announce that the fine folks at SAS Press have made Chapter 2 of my book, Statistical Programming with SAS/IML Software available as a free PDF document. The chapter is titled "Getting Started with the SAS/IML Matrix Programming Language," and it features More than 60 fully functional
The other day I was at the grocery store buying a week's worth of groceries. When the cashier, Kurt (not his real name), totaled my bill, he announced, "That'll be ninety-six dollars, even." "Even?" I asked incredulously. "You mean no cents?" "Yup," he replied. "It happens." "Wow," I said, with
Chris started a tradition for SAS Press authors to post a photo of themselves with their new book. Thanks to everyone who helped with the production of Statistical Programming with SAS/IML Software.
Dear Readers, You might visit this blog for many reasons, chief among them to learn useful information about SAS. You know that I often post tips about SAS Enterprise Guide, and sometimes people go so far as to call this a "SAS Enterprise Guide" blog*. But for all of the
Suppose that you compute the coefficients of a polynomial regression by using a certain set of polynomial effects and that I compute coefficients for a different set of polynomial effects. Can I use my coefficients to find your coefficients? The answer is yes, and this article explains how. Standard Polynomial
Let's face it: ever since cats learned how to access the Internet, they've managed to besmirch their prestigious status as the "smarter-if-a-bit-aloof" pet. They've starred in many demeaning YouTube videos, bringing shame to their species for the sake of some cheap laughs. But I'm here to tell you: there are
I just got back from a great conference in San Diego at the 2010 meeting of the Western Users of SAS Software (WUSS) where I gave several presentations on PROC IML and SAS/IML Studio. If you didn't make it to San Diego, you can still read my 2010 paper on
Sampling with replacement is a useful technique for simulations and for resampling from data. Over at the SAS/IML Discussion Forum, there was a recent question about how to use SAS/IML software to sample with replacement from a set of events. I have previously blogged about efficient sampling, but this topic
I recently returned from the 117th Annual Conference of the International Association of Chiefs of Police (IACP) held in Orlando, Florida. It was a tad surreal to be back with the association members and colleagues with whom I worked so closely for almost eight years when I called IACP my
I recently had the opportunity to attend the VA Governor’s Education Summit “Innovate to Educate” was the theme throughout the summit. Speakers and panelists discussed both the challenges we face in today’s schools across America as well as innovative ideas and best practices being implemented in an effort to raise
This 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
Let's pretend for a moment that you don't have SAS installed on all of your office computers. But you've got some great content locked away inside SAS data sets. Is there a way to get to the content of that data, without having to push the data through a SAS
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
Many forecasting software packages support hierarchical forecasting. You define the hierarchical relationship of your products and locations, create forecasts at one or more levels, and then reconcile the forecasts across the full hierarchy. In a top-down approach, you generate forecasts at the highest level and apportion it down to lower