BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
panda
Quartz | Level 8

Hi all - 

 

I want to create a matrix with 24 rows and 120 columns, the ideal dataset looks like this:

A0 A1 A2 A3   ....A59 B0 B1 B2 B3 ... B59

0   0   0     0         0      0   0   0   0        0

RIght now cannot figure out how to name the columns, my code is attached here (this code does not work):

proc iml;
c = j(24, 120, 0);
varNames = "A0" : "A59"; 
varNames = "B0" : "B59";
create data from c [colname = varNames];
append from c;
close data;

Create A columns and B columns and merge them together might help but eventually I want to create a matrix from A to Z, which has 1440 columns, so that approach might not be good enough. 

Any idea? Thanks!!

 

1 ACCEPTED SOLUTION

Accepted Solutions
WarrenKuhfeld
Ammonite | Level 13

Just concatenate your name vectors:

 

proc iml;
c = j(24, 120, 0);
varNames = ("A0" : "A59") || ("B0" : "B59");
create data from c [colname = varNames];
append from c;
close data;
quit;

proc contents varnum; ods select position; run;

View solution in original post

1 REPLY 1
WarrenKuhfeld
Ammonite | Level 13

Just concatenate your name vectors:

 

proc iml;
c = j(24, 120, 0);
varNames = ("A0" : "A59") || ("B0" : "B59");
create data from c [colname = varNames];
append from c;
close data;
quit;

proc contents varnum; ods select position; run;

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 1 reply
  • 1821 views
  • 2 likes
  • 2 in conversation