I saw a suggestion arrive from a SAS customer who would like to see the IN operator extended to allow ranges of date values. For example, you can currently write a program that checks for values IN a collection or range of numbers: data check; if x in (1:10) then
English
The SAS/IML language is a vector language, so statements that operate on a few long vectors run much faster than equivalent statements that involve many scalar quantities. For example, in a previous post, I asserted that the LOC function is much faster than writing a loop, for finding observations that
AnnMaria wrote her latest blog post, "SAS Enterprise Guide makes you smarter", partly in response to my recent post about whether it's making you stupider. From the contents of her program example, I'm guessing that she's preparing for WUSS in November. I don't get to attend this year, but my
The Junk Chart blog discusses a potential problem that can arise in grouped bar charts when the two groups have vastly different ranges. One possible solution (which is discussed at the Junk Chart sister blog, Numbers Rule Your World) is to present the data back-back in what is sometimes called
The SAS/IML run-time library contains hundreds of functions and subroutines that you can call to perform statistical analysis. There are also many functions in Base SAS software that you can call from SAS/IML programs. However, one day you might need to compute some quantity for which there is no prewritten
Visualizing the distribution of data is a primary task of data analysis. With all the hurricane activity in the Atlantic this year, I’ve been thinking about ways to visualize the historical distribution of hurricane activity. USA Today on Friday, August 13, 2010, announced that "the heart of hurricane season is
Recently, SAS Global Forum announced the call for papers for the 2011 conference to be held at Caesars Palace in Las Vegas. Since the conference is in Las Vegas, I’ve been thinking a lot about games of chance: blackjack, craps, roulette, and the like. You can analyze these games by
My mother taught me to put things away when I'm finished using them. She doesn't use a computer, but if she did, I know that she'd approve of this tip from my book: Tip: Always close your files and data sets when you are finished reading or writing them. In
Today is the birthday of Bernhard Riemann, a German mathematician who made fundamental contributions to the fields of geometry, analysis, and number theory. Riemann is definitely on my list of the greatest mathematicians of all time, and his conjecture about the distribution of prime numbers is one of the great
In my post yesterday about the 64-bit hype and how client apps like SAS Enterprise Guide would see only a limited boost from a 64-bit version, I forgot to point out another offering from SAS that has embraced the 64-bit architecture: JMP. JMP offers a 64-bit version, and it makes
Question: Is there a 64-bit version of SAS Enterprise Guide? Answer: SAS Enterprise Guide is a 32-bit application, even with its most recent release. As such, it is still completely supported on any 64-bit Windows machine, but it runs in the 32-bit subsystem (also known as WoW64 – short for
Missing values are a fact of life. Many statistical analyses, such as regression, exclude observations that contain missing values prior to forming matrix equations that are used in the analysis. This post shows how to find rows of a data matrix that contain missing values and how to remove those
Have you ever visited a city for the first time and, instead of relying maps to plan your journey, you simply plug your destinations into a GPS device and mindlessly follow the navigation directions? You've just cheated yourself out of a learning opportunity, because planning the journey and using your
I believe that we've "done" social media at SAS the right way. I know that because I can read this Dilbert cartoon (embedded here from dilbert.com) and actually laugh, and not cringe with shameful recognition.
Peter Flom reminded readers of his blog that you should always end a SAS procedure with a RUN statement. This is good rule. However, PROC IML is an exception to the rule. In PROC IML, the RUN statement is used to execute a built-in subroutine or a user-defined module. You
For the first time in a decade, I have a new official role and title at SAS. But what's remarkable about my new role isn't how much of my job will change, but how much of it will remain the same. I'm giving up my role as a software manager,
Look out, SAS and software nerds: there are more techy blogs headed your way via blogs.sas.com. Beginning this week, I've been joined by two of my fellow SAS R&D staffers: Rick Wicklin presents The DO Loop, which focuses on SAS/IML and other subjects of interest to statistical programmers, and SAS
No matter how much we want it, and no matter how hard we try, we can’t always achieve the forecast accuracy desired. Forecasting Heads or Tails in the toss of a fair coin gives the perfect illustration (being right 50% of the time is all we can achieve over a
A frequently performed task in data analysis is identifying all the observations in a data set that satisfy certain conditions. For example, you might want to identify all of the female patients in your study or to identify all patients whose systolic blood pressure is greater than 140 mm Hg.
"How do I apply a format to a vector of values in IML? In the DATA step, I can just call the PUTN function.” This question came from a SAS customer that I met recently at a conference. My reply? Use the PUTN function, but send it a vector of
The R You Ready blog posed an interesting problem. Essentially, you have a vector that contains n(n+1)/2 elements, and you want to pack those elements into the upper left triangular portion of a matrix. For example, if your data are proc iml; /** vector v is given: ncol(v) = n(n+1)/2 for
This week, SAS introduced SAS Rapid Predictive Modeler, a component of SAS Enterprise Miner that allows a business user to drive the modeling from Microsoft Excel (via the SAS Add-In for Microsoft Office) or SAS Enterprise Guide. It was made possible thanks to the close collaboration of R&D staff on
When Marilyn Manson sang of “The Beautiful People,” I think it was about how symmetry of facial features makes a person more visually attractive. At least that was the message I got out of the song. But unfortunately, even facial symmetry cannot compensate for an insufferable personality, as both Marilyn
When programmers begin learning a new computer language, the first program they write is often one that prints the text “Hello, World!” Successfully writing a Hello World program assures the programmer that the software is successfully installed and that all necessary features are working: parsers, compilers, linkers, and so on.
The secret to long life is good genes, right? This publication titled "Joint influence of small-effect genetic variants on human longevity" showed up on my Google alerts, and from what I can read (all of it) and understand (very little of it), that assertion is true. The researchers used PROC
Shane and others have already discovered this. The new version of SAS Enterprise Guide is now available. The latest version offers tremendous enhancements for all users, especially SAS programmers. It includes a new SAS program editing environment that supports syntax suggestions and autocomplete, embedded syntax reference help, and a SAS
Did the North Carolina Department of Motor Vehicles regain its sanity? Or was this just another tease? As you recall from last year, my application for “THE BFD” personalized license plate was accepted – then rejected – even though that extra $30 fee could have eased at least some of
Self-anointed as The Aristocrat of forecasting related blogs, The BFD takes its public service role seriously (or at least as seriously as anyone who self-anoints on a regular basis can be taken). Among the services The BFD provides, both publicly (on webcasts or speaking engagements) and privately (by phone, email,
Today's Australian news journal features an article about how Dr. Jim Goodnight swept into Australia for the SAS Forum event, delivered his remarks and pressed a few palms, and then was on his way back home -- according to the article -- on the very same day. That's not exactly
It's been a very busy week for me here in Sydney, Australia. For starters, I led a two-day course about SAS Enterprise Guide for experienced SAS users. We used SAS Enterprise Guide 4.3, which is just about to ship from SAS. I told my students that they were the first