I got an email asking the following question: In the following program, I don't know how many variables are in the data set A. However, I do know that the variable names are X1–Xk for some value of k. How can I read them all into a SAS/IML matrix when
English
~Contributed by Rex Pruitt, IFSUG Chairman One of the newest SAS users groups has settled on a date, time and place for its first formal get-together. IFSUG (Insurance & Finance SAS Users Group) will meet March 4-6 in the new SAS Executive Briefing Center in Cary, NC. The IFSUG Summit will
I've heard it said that perception is everything, but can you really track and measure customer perception in a way that will allow you to effect change? The answer is yes.
I have previously written about how to create funnel plots in SAS software. A funnel plot is a way to compare the aggregated performance of many groups without ranking them. The groups can be states, counties, schools, hospitals, doctors, airlines, and so forth. A funnel plot graphs a performance metric
In a previous article we discussed how to add axis aligned statistics table to a Lipid graph using GTL. Other graphs such as the Survival Plot also utilize the same technique to display the "at risk" statistics aligned by time or visits along the X axis. Often, we also need to display
I’ve been fortunate to see a lot of the US through my work with SAS users groups. My latest trip was to Fort Worth, Texas, where I saw my first rodeo and attended the South Central SAS Users Group (SCSUG) Educational Forum.
The heatmap is a graphical representation of a table where colors are used to represent the values in the table. This is an effective graphic for finding the minimum and maximum values across the table and may surface patterns in the data. With the addition of the HEATMAPPARM statement to
I my past blog posts I have written mostly about K-12 education. This is mainly because I think K-12 is over-ripe for reform in so many ways. School districts could learn a great deal from other industries and higher education in terms of data usage, reporting and analysis of students, programs and
Here's a quick tip to keep in mind when you write SAS/IML programs: although the SAS/IML documentation lists about 300 functions that are built into the SAS/IML language, you can also call hundreds of functions in Base SAS. Furthermore, you can pass in SAS/IML vectors for arguments to the functions.
This week's SAS author's tip comes from Gerhard Svolba, author of Data Preparation for Analytics Using SAS and the upcoming book Data Quality for Analytics Using SAS. Gerhard is a product manager and pre-sales consultant at SAS in Austria. Gerhard wrote his first book on analytics about five years ago and
If you’ve taken one of my SAS classes you may recall “Mark’s 3 rules of programming”, the first of which is “Lazy programmers are GOOD programmers.” One of the things I love about best about SAS programming is the plethora of functions and shortcuts built into the language, all designed
Halloween night was rainy, so many fewer kids knocked on the door than usual. Consequently, I'm left with a big bucket of undistributed candy. One evening as I treated myself to a mouthful of tooth decay, I chanced to open a package of Wonka® Bottle Caps. The package contained three
Rick Wicklin's blog post on using abbreviations provided a solution for a long standing pain. When writing a new GTL program for simple graph, often the bulk of the code is boiler plate. To create a simple scatter plot of weight by height, you need to type in the following program:
Rick posted a tip today about using abbreviations in the SAS program editor window (often referred to as the "enhanced editor"). Defining abbreviations is a great way to save keystrokes and re-use "templates" of code that you've squirreled away. (One of Rick's readers also picked up on the tip, and
In this blog we will discuss many aspects of the SG Procedures. This article will cover some basic features and workings of the SGPLOT procedure to establish a baseline. The single-cell graph is the work horse for data visualization. From the simple bar chart to the complex patient profiles for clinical
I recently attended The Education Trust’s 2011 National Conference on closing gaps and raising achievement for ALL students. This was my first Ed Trust event and I walked away baffled by the data about the inequities in our education system, and the persistent gaps between the affluent and impoverished. First,
When I moved last year from Denver to the Washington, DC area people told me to prepare myself for the long hours I would spend in my car. I had no idea. It takes forever to get anywhere. Once, during a snowstorm it took me 9 hours to drive 10
Did you know that you can define "abbreviations" in the SAS enhanced editor? These handy little shortcuts can save you a lot of typing. For example, I have an abbreviation for the string _iml. Whenever I type _iml, the editor prompts me to replace those four characters with the following
Here is a little trick to file away. Given a row vector of zeros and ones, thought of as representing a number in base 2, the following SAS/IML statements compute the decimal value of that vector. proc iml; x = {1 0 0 1 1 1}; /* number in base
I've been working with date-time data on a recent project, and I've come across a few SAS programs that have "opportunity for improvement" when it comes time to create reports. (Or maybe I haven't, and I contrived this entire blog post so that I could reference one of my favorite
SAS said, "Hello, San Francisco!" for the Western Users of SAS Software (WUSS) conference October 12-14. The conference was chaired by Kathy Valdes, from SRI, and Ginger Carey, from Carey Consulting, two long time SAS users. With no time for Sittin’ on the Dock of the Bay, we kicked off the event -
One aspect of blogging that I enjoy is getting feedback from readers. Usually I get statistical or programming questions, but every so often I receive a comment from someone who stumbled across a blog post by way of an internet search. This morning I received the following delightful comment on
The Unicode character table contains a vast array of characters and symbols that can be quite useful for making your text more descriptive in your graph. These characters can be inserted into any viewable string that you can define in the GTL or SG procedure syntax. These strings include titles,
If you want to extract values from a SAS/IML vector, use the subscripting operation, such as in the following example: proc iml; x = {A B C D E}; y = x[{1 2 3}]; /* {A,B,C} */ The vector y contains the first three elements of x. However, did you
The display of statistics, aligned with graphical plot of the data, is a common requirement for graphs, especially in the Clinical Research domain. In the previous post on Discrete Offset, I used an example of the Lipid Profile graph. Now, let us use the same example and add the display of statistics in
For all of you who have ever been to Heidelberg, location of the headquarters of SAS Germany and the place where I live, you might know that a town called Mannheim is nearby. Some might even know that Mannheim is the place where a genius German engineer called Carl Benz
You can still get a paper proposal in for SAS Global Forum 2012. All you need is an idea. And probably some data. And also, some techniques for analyzing that data. Oh, and some conclusions would be helpful as well. I know: you are a busy person! You might not
~Contributed by Martin L. Olesen I began using SAS 6.04 in 1992 for my own projects and as a teaching assistant. Professionally, I have worked in SAS since 1997, after graduation. I use Base SAS, SAS/STAT and SAS/OR. I work in an Icelandic bank doing credit risk analysis and rating
Sometimes you want to label only certain observations in a plot. This is useful in many ways, but one use is to label outliers on a scatter plot. In the SGPLOT procedure, the DATALABEL= option enables you to specify the name of a variable that is used to label observations.