Hi,
I'm simply trying to read an existing dataset into a matrix, but keep recieving the same error, that I can't fix.
The message is: ERROR: A dataset field name is not a valid IML symbol name.
Here's the code:
proc iml;
use points;
read all var _ALL_ into runs;
close points;
print runs;
What's triggering the error?
The USE statement in SAS/IML reads data from a SAS data set. Valid variable names in SAS begins with a letter or an underscore. In your data, try using variable names such as X0_0, X0_1, etc. How did you create this data set?
Your code seems to be working fine as below, so my guess is that one of your column names are conflicting with SAS standards.
Can you post some sample of the data you are trying to read?
data points;
input ID point;
datalines;
1 100
2 200
3 300
;
proc iml;
use points;
read all var _ALL_ into runs;
close points;
print runs;
quit;
Here'sa a picture. I don't need the first column. Would it be because that coumn names are numeric?
The USE statement in SAS/IML reads data from a SAS data set. Valid variable names in SAS begins with a letter or an underscore. In your data, try using variable names such as X0_0, X0_1, etc. How did you create this data set?
The dataset was imported from an excel worksheet. I renamed the columns so they begin with a letter, and it works. Thank you.
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.