Multiple Array in SAS

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 14
Accepted Solution

Multiple Array in SAS

Hi.

I need to create a multiple array (81,81).

I've 3 columns in my data. 1st and 2nd column values ranges from 1 to 81 (these are codes for Provinces) and the 3rd column shows the distance between these provinces. The data structure is like:

A     B     C

1     2     200

1     3     500

.     .     .

1     81     300

2     1     100

2     3     250

.     .     .

81     80     1000;

I need to create an array/table/matrix which is 81 by 81 and shows the distance (3rd column value) between these provinces (1st and 2nd columns values).

Thanks in advance.    


Accepted Solutions
Solution
‎07-31-2014 06:15 AM
Super User
Super User
Posts: 7,725

Re: Multiple Array in SAS

Hi,

Try transpose:

data have;
  infile datalines;
  input a b c;
datalines;
1 2 200
1 3 30
1 5 23
2 1 27
2 4 8
2 5 90
;
run;

proc sort data=have;
  by a b c;
run;
proc transpose data=have out=want (drop=_name_) prefix=B;
  by a;
  var c;
  id b;
  idlabel b;
run;

The above will create Bx variables for each unique occurrence of a value in B.

View solution in original post


All Replies
Solution
‎07-31-2014 06:15 AM
Super User
Super User
Posts: 7,725

Re: Multiple Array in SAS

Hi,

Try transpose:

data have;
  infile datalines;
  input a b c;
datalines;
1 2 200
1 3 30
1 5 23
2 1 27
2 4 8
2 5 90
;
run;

proc sort data=have;
  by a b c;
run;
proc transpose data=have out=want (drop=_name_) prefix=B;
  by a;
  var c;
  id b;
  idlabel b;
run;

The above will create Bx variables for each unique occurrence of a value in B.

Respected Advisor
Posts: 3,790

Re: Multiple Array in SAS

Shouldn't the distance between a=1 and b=2 be the same as a=2 and b=1?

Occasional Contributor
Posts: 14

Re: Multiple Array in SAS

Hi. Thanks for your reply.

Yes it is, I just mentioned randomly Smiley Happy.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 270 views
  • 0 likes
  • 3 in conversation