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.
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.