If you have a data set that was created in base SAS, and then you are loading it into a proc iml to be used with:
use dataset;
read all into matrix_name;
all the names of the variables of the data set get lost. Is there a way to avoid this and keep the variable names?
You've not specified the VAR clause on the READ statement, so you are getting the numeric variables. You can get the names of the variables by using this syntax:
use sashelp.class;
read all into m[c=varNames];
close sashelp.class;
print varNames;
For more details, see "Reading ALL variables INTO a matrix."
You've not specified the VAR clause on the READ statement, so you are getting the numeric variables. You can get the names of the variables by using this syntax:
use sashelp.class;
read all into m[c=varNames];
close sashelp.class;
print varNames;
For more details, see "Reading ALL variables INTO a matrix."
This works to preserve variable names, but not their labels. I use variable names with a numbered prefix (comp1 comp2 comp3...) with variable labels that identify each one. The numbered prefix allow reference to types of variable using the colon, eg comp:. I sometimes do operations through IML and would like to output datasets with the original variable names and labels. Can that be done?
Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.
If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website.
Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.
Find more tutorials on the SAS Users YouTube channel.