Did you know that more than 30,000 Americans die in traffic accidents every year? Interestingly, the U.S. import of mangoes from Brazil is found to be highly correlated with this fatality rate, as shown in the graph below. But are mango imports a good indicator of the future traffic fatality
English
This week's SAS tip is from Lauren Haworth, Cynthia L. Zender, and Michele Burlew's book Output Delivery System: The Basics and Beyond. This example-driven book includes broad coverage of some of the best features of ODS. To learn more about the book and the authors, visit our Web catalog to read
To say that I'm excited about the SAS 9.4 release is an understatement! For example, did you know that in SAS 9.4, you can write SAS/Graph output directly to a Powerpoint slide?!? This is definitely an item that was on my "wish list," and will no doubt make life a
SAS® 9.4--Enable, simplify and innovate with more deployment options! July 10 marked the beginning of the "SAS 9.4 Era"--the next step in the evolution of SAS. This newest platform release offers product enhancements galore, more deployment choices than ever, simplified administration and more. I thought you might find it useful
SAS 9.4 releases today with a ton of new features. As eloquently stated by Craig Rubendall, the driving themes are "Enable. Simplify. Innovate". The same sentiment applies to the ODS Graphics, with a ton of new features for the SG Procedures, GTL and ODS Graphics Designer. In the next few articles,
I don’t think people typically think of administration as a fun thing, but it really was fun talking to SAS administrators at SAS Global Forum this year. There seemed to always be a crowd around the administration demo station. We had quite a few super demos and papers, and we
Most of us will have at least a few road trips this summer (some longer than others). Traveling in the car doesn’t mean you have to give up your healthy habits. It just takes a little planning.
Are you still using the old RANUNI, RANNOR, RANBIN, and other "RANXXX" functions to generate random numbers in SAS? If so, here are six reasons why you should switch from these older (1970s) algorithms to the newer (late 1990s) Mersenne-Twister algorithm, which is implemented in the RAND function. The newer
SAS 9.3 already has smooth (anti-aliased) lines in SAS/GRAPH device=png output, and in SAS 9.4 you will also get smooth lines in your device=gif output (and gif animations)! Woo-hoo!!! Here are a couple of simple examples to demonstrate: The first example is device=gif Proc Gmap output. If you look very closely, you'll notice that
The DELETE procedure is probably the most well-known and most-used SAS procedure that isn't actually documented or officially supported. That is, that was the case before the release of SAS 9.4, when PROC DELETE returns with more features than ever -- including a production-quality status. In his SAS Global Forum
Tried, tested and true -- I’m sure you already practice some, if not all, of these efficient techniques to save resources. I recently shared these 10 techniques with the Wisconsin Illinois SAS users group in Milwaukee. The conference ran smoothly under the incredibly able guidance of Dr. LeRoy Bessler. I’ll
Four authors. Four papers. One set of data. The month of August and the 2014 Call for Content are just around the corner, and this seems like a good time to share a little inspiration and innovation. The Foundations and Fundamentals paper section at SAS Global Forum 2013 featured a four-part
Every programming language has an IF-THEN statement that branches according to whether a Boolean expression is true or false. In SAS, the IF-THEN (or IF-THEN/ELSE) statement evaluates an expression and braches according to whether the expression is nonzero (true) or zero (false). The basic syntax is if numeric-expression then do-computation;
Conventional or Organic? That is the question. Research varies about whether organic foods are healthier than conventional foods. However, one of the biggest arguments for buying organic is in regards to pesticide exposure. Convincing evidence is revealing that the pesticides we eat, drink and inhale are stored in our bodies
On the Web site for the book Statistical Programming with SAS/IML Software, I provide instructions on how to download the sample data sets and install them so that they can be used from within SAS/IML Studio. When I wrote the book I did not anticipate that SAS users might want
Inspired by the JMP blog - Statisticians: harbingers of doom?: Enjoy what's left of the International Year of Statistics -- while you still can.
In my last post, I introduced the hardware solutions (such as a virtual IP switch or IP load balancer) that enable client applications to access services regardless of whether they are running on a primary or a failover server in a grid-enabled environment configured with high availability. In this post,
As I wrote in my previous post, a SAS customer noticed that he was getting some duplicate values when he used the RAND function to generate a large number of random uniform values on the interval [0,1]. He wanted to know if this result indicates a bug in the RAND
When I work on SAS projects that create lots of files as results, it's often a requirement that those files be organized in a certain folder structure. The exact structure depends on the project, but here's an example: /results |__ html |__ images |__ xls |__ data Before you can
I'm happy to announce the SAS Data Mining online community forum has a new look and feel! There’s lots of additional content and functionality too. The SAS Data Mining community on support.sas.com is a central communications hub for anyone interested in SAS Predictive Analytics and Data Mining topics. Community Manager Anna
Tossing dice is a simple and familiar process, yet it can illustrate deep and counterintuitive aspects of random numbers. For example, if you toss four identical six-sided dice, what is the probability that the faces are all distinct, as shown to the left? Many people would guess that the probability
Many SAS Enterprise Guide users practically live in the Query Builder. For those who understand their data tables, the Query Builder provides a tremendous amount of flexibility to pull and manipulate data. The Query Builder produces SQL programs behind the scenes, which translates well for database-centric work. Sometimes a complex
This question comes up often when we’re working with SAS customers to configure their underlying storage arrays: “When is solid-state storage appropriate for SAS applications?” Solid-state drives, or SSDs, are the latest and greatest thing in storage today because they boast extremely fast performance. In this post, I’ll outline how
The CLUSTER procedure in SAS/STAT software creates a dendrogram automatically. The black-and-white dendrogram is nice, but plain. A SAS customer wanted to know whether it is possible to add color to the dendrogram to emphasize certain clusters. For example, the plot at the left emphasizes a four-cluster scenario for clustering
Recently a user chimed in on the SAS Communities page, requesting a way to add some observation level annotation to a box plot. Wendy was delighted to see a graph created by the UNIVARIATE procedure called "Schematic Plot". In this graph, the box plot of the analysis variable is shown with
Every programmer may dread the thought of a colleague peeking over his or her shoulder, double-checking code, but SAS Global Forum paper winner David Scocca has offered his tips for making code reviews a painless process. His paper, Communicating Standards: A Code Review Experience, is a must-read. Here’s a peek
How do you count the number of unique rows in a matrix? The simplest algorithm is to sort the data and then iterate down the rows, comparing each row with the previous row. However, this algorithm has two shortcomings: it physically sorts the data (which means that the original locations
If you routinely import data from external sources, chances are you’ve learned the value in having a systematic import process. In this post, I will begin sharing my approach of using metadata tables to guide the importing of data.
Based on my previous posts, we are almost done with the basics of SAS libraries and how the various clients can access them. Before we leave this topic and go onto third-party database engines, I wanted to spend a few minutes talking about some best practices for making sure that
I am not a big fan of the macro language, and I try to avoid it when I write SAS/IML programs. I find that the programs with many macros are hard to read and debug. Furthermore, the SAS/IML language supports loops and indexing, so many macro constructs can be replaced