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?
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.