DATA Step, Macro, Functions and more

New variables in array with lower bound other than 1

Reply
New Contributor
Posts: 3

New variables in array with lower bound other than 1

I am trying to use an array to create a new variable while preserving the old variable. The variables end in a number that range from 27-55, so I want my array range to match that. When I define the range with the existing variables, I get what I expect:

array test (27:55) x27 . . . x55; *These arrays refer to the correct variables;

But when I try to create a new variable:

array testb(27:55);

do i=27 to 55;

if test(i) = 1 then testb(i) = 5;

if test(i) = 2 then testb(i) = 10;

end;

I get the following variables

testb1 . . . testb29

Is there a way to define testb27-testb55 as new variables in an array? Thanks in advance for the help!

John

Super User
Posts: 19,815

New variables in array with lower bound other than 1

Is there a reason you can't name them that way?

array testb(27:55) testb27-testb55;

PROC Star
Posts: 7,474

New variables in array with lower bound other than 1

Here is one way:

data want (rename=(testb1-testb29=testb27-testb55));

  array testb(27:55);

  do i=27 to 55;

    if i le 40 then testb(i) = 5;

     else testb(i) = 10;

  end;

  output;

run;

Ask a Question
Discussion stats
  • 2 replies
  • 117 views
  • 0 likes
  • 3 in conversation