SAS/IML software has many statements for passing data from SAS data sets to matrices and from matrices to SAS data sets. You can create matrices from the variables and observations of a SAS data set in several ways. You can create a column vector for each data set variable, or you can create a matrix where columns correspond to data set variables. You can use all the observations in a data set or use a subset of them.
You can also create a SAS data set from a matrix. The columns correspond to data set variables and the rows correspond to observations. Data management commands enable you to edit, append, rename, or delete SAS data sets from within the SAS/IML environment.
When reading a SAS data set, you can read any number of observations into a matrix either sequentially, directly by record number, or conditionally according to conditions in a WHERE clause. You can also index a SAS data set. The indexing capability facilitates retrievals by the indexed variable.
Operations on SAS data sets are performed with straightforward, consistent, and powerful statements. For example, the LIST statement can perform the following tasks:
list the next record
list a specified record
list any number of specified records
list the whole file
list records satisfying one or more conditions
list specified variables or all variables
If you want to read values into a matrix, use the READ statement instead of the LIST statement with the same operands and features as the LIST statement. You can specify operands that control which records and variables are used indirectly, as matrices, so that you can dynamically program the records, variables, and conditional values you want.
In this chapter, you use the SAS data set CLASS, which contains the variables NAME, SEX, AGE, HEIGHT, and WEIGHT, to learn about the following:
opening a SAS data set
examining the contents of a SAS data set
displaying data values with the LIST statement
reading observations from a SAS data set into matrices
editing a SAS data set
creating a SAS data set from a matrix
displaying matrices with row and column headings
producing summary statistics
sorting a SAS data set
indexing a SAS data set
similarities and differences between the data set and the SAS DATA step
Throughout this chapter, the right angle brackets (>) indicate statements that you submit; responses from Interactive Matrix Language follow.
First, invoke the IML procedure by using the following statement:
> proc iml; IML Ready