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,
Uncategorized
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
My last post was a criticism of a statistical graph that appeared in Bloomberg Businessweek. Criticism is easy. Analysis is harder. In this post I re-analyze the data to present two graphics that I think should have replaced the one graphic in Businessweek. You can download the SAS program that
Have you used multivariate procedures in SAS and wanted to save out scores? Some procedures, such as FACTOR, CANDISC, CANCORR, PRINCOMP, and others have an OUT= option to save scores to the input data set. However, to score a new data set, or to perform scoring with multivariate procedures that
It seems like each week brings news announcing yet another software vendor acquisition by one of the giant software conglomerates. This approach of purchasing a specific capability to fit into the ever growing portfolio of technology does not show signs of stopping in the near future. Matter of fact, several
Last week I was invited to join the growing list of SAS blogs in the new sas-x.com aggregator. I was happy to add my blog there -- anything that I can do to help this content get to a wider audience. If you have a SAS-related blog, I encourage you
Author note: I'm "replaying" this post in honor of Computer Science Education Week. It originally appeared here over 3 years ago. Today was "career day" in my daughter's 3rd grade classroom. A few privileged parents were invited to attend and answer questions about their professions, press-conference style. Among those on
Recently I read a blog that advertised a data visualization competition. Under the heading "What Are We Looking For?" is a link to a 2007 Bloomberg Businessweek graph that visualizes how participation in online social media activities vary across age groups. The graph is reproduced below at a smaller scale:
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
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