The SAS® System provides a powerful and flexible programming language in a dynamic, interactive environment for programmers, statisticians, and researchers. Use the SAS System for data manipulation and general statistical analysis, then employ SAS/IML software's interactive matrix language for more specific analysis and exploration.
SAS/IML software operates on matrices.
The fundamental data element in SAS/IML is the matrix, a two-dimensional (row-by-column) array of numeric or character values. You do not need to declare, dimension, or allocate storage for a data matrix because SAS/IML software does this automatically. You can change the dimension or type of a matrix, reset options, or replace modules at any time. You can open multiple files or access many libraries. Built-in matrix operators, functions, and subroutines can be applied to perform complex tasks such as matrix inversion or eigenvector generation.
SAS/IML software is a programming language.
Simple syntax makes it easy to translate mathematical formulas into program statements. You can program easily and efficiently with the many features for arithmetic and character expressions. A complete set of programming statements give you the commands necessary for execution control and program modularization. Access to a wide range of built-in subroutines makes your programming fast, easy, and efficient, and you can build your own module library to extend the functionality of the software.
SAS/IML software is interactive.
You can execute a command as soon as you enter it, or you can collect commands for later execution in batch production runs. When you execute a command, you see the results immediately. You can interact with an executing module by programming SAS/IML to pause, enabling you to enter additional statements before continuing execution.
SAS/IML software integrates with the SAS System.
The SAS/IML language provides a mechanism for submitting SAS statements from SAS/IML programs. This enables you to call DATA steps, macros, and SAS procedures without losing the state of your PROC IML session. The SAS/IML language also provides many statements for passing data from SAS data sets to matrices and from matrices to SAS data sets.
SAS/IML software integrates with R
SAS/IML software now provides an interface to the R statistical programming language, so that you can submit R statements from within a SAS/IML program. You can transfer data from SAS/IML matrices and SAS data sets into R matrices and R data frames, and vice versa.
SAS/IML software produces graphics.
You have access to a wide range of graphics commands that enable you to create customized displays and visually explore relationships in data.