The DO Loop
Statistical programming in SAS with an emphasis on SAS/IML programs![Use numeric values for column headers when printing a matrix](https://blogs.sas.com/content/iml/files/2017/01/ProgrammingTips-2.png)
Sometimes a little thing can make a big difference. I am enjoying a new enhancement of SAS/IML 15.1, which enables you to use a numeric vector as the column header or row header when you print a SAS/IML matrix. Prior to SAS/IML 15.1, you had to use the CHAR or
![Vectorize the computation of the Mandelbrot set in a matrix language](https://blogs.sas.com/content/iml/files/2019/07/Mandelbrot1-702x336.png)
When my colleague, Robert Allison, blogged about visualizing the Mandelbrot set, I was reminded of a story from the 1980s, which was the height of the fractal craze. A research group in computational mathematics had been awarded a multimillion-dollar grant to purchase a supercomputer. When the supercomputer arrived and got
![Implement the Gumbel distribution in SAS](https://blogs.sas.com/content/iml/files/2019/07/Gumbel3-640x336.png)
SAS supports more than 25 common probability distributions for the PDF, CDF, QUANTILE, and RAND functions. Of course, there are infinitely many distributions, so not every possible distribution is supported. If you need a less-common distribution, I've shown how to extend the functionality of Base SAS (by using PROC FCMP)
![Extreme values: What is an extreme value for normally distributed data?](https://blogs.sas.com/content/iml/files/2019/07/extremeval8-640x336.png)
Is 4 an extreme value for the standard normal distribution? In high school, students learn the famous 68-95-99.7 rule, which is a way to remember that 99.7 percent of random observation from a normal distribution are within three standard deviations from the mean. For the standard normal distribution, the probability
![Write numeric and character matrices to a data set from SAS/IML](https://blogs.sas.com/content/iml/files/2017/01/ProgrammingTips-2.png)
In the SAS/IML language, a matrix contains data of one type: numeric or character. If you want to create a SAS data set that contains mixed-type data (numeric and character), SAS/IML 15.1 provides support to write multiple matrices to a data set by using a single statement. Specifically, the CREATE
![Create a discrete heat map with PROC SGPLOT](https://blogs.sas.com/content/iml/files/2019/07/HeatMapSgplot4-640x336.png)
Heat maps have many uses. You can use a heat map to visualize correlation matrices, to visualize longitudinal data ("lasagna plots"), and to visualize counts in any two-dimensional table. As of SAS 9.4m3, you can create heat maps in SAS by using the HEATMAP and HEATMAPPARM statements in PROC SGPLOT.