Help using Base SAS procedures

do loop for matrix 2

Accepted Solution Solved
Reply
Contributor
Posts: 23
Accepted Solution

do loop for matrix 2

Here is my data:

year Quarter s1 s2 .......s25

1952  1

1952  1

1952  1

1952  2

1952  2

1952  2

I want to find the product of each s(i). I wrote a clumsy code, but I'm sure a do loop can make it more efficient.

see the attached code.


Attachment
Attachment

Accepted Solutions
Solution
‎09-15-2012 10:57 AM
Valued Guide
Posts: 765

Re: do loop for matrix 2

hi ... maybe ...

data s25_new;

array s(25);

array ss(25);

do until (last.q);

   set s25;

   by year q;

   if first.q then do j=1 to 25; ss(j)=1; end;

   do j=1 to 25; ss(j)=ss(j)*s(j); end;

end;

keep year q ss1-ss15;

run;

View solution in original post


All Replies
Solution
‎09-15-2012 10:57 AM
Valued Guide
Posts: 765

Re: do loop for matrix 2

hi ... maybe ...

data s25_new;

array s(25);

array ss(25);

do until (last.q);

   set s25;

   by year q;

   if first.q then do j=1 to 25; ss(j)=1; end;

   do j=1 to 25; ss(j)=ss(j)*s(j); end;

end;

keep year q ss1-ss15;

run;

🔒 This topic is solved and locked.

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

Discussion stats
  • 1 reply
  • 112 views
  • 0 likes
  • 2 in conversation