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?
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!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.