DATA Step, Macro, Functions and more

Determine lag of muliple variables in a dataset

Accepted Solution Solved
Reply
Contributor
Posts: 41
Accepted Solution

Determine lag of muliple variables in a dataset

I am trying to calculate lag values of multiple variables in a dataset by using two arrays but can't get it to work. Does anyone have any ideas? See attached. Thanks.

Attachment

Accepted Solutions
Solution
‎08-29-2011 12:55 PM
PROC Star
Posts: 7,474

Determine lag of muliple variables in a dataset

I think you are trying to do something like:

data data1 (drop=i);

  set data0;

  by id;

  array vars {*} A B C;

  array lagvars(3);

  do i = 1 to 3;

    lagvars(i)=lag(vars(i));

    if first.id then call missing(lagvars(i));

  end;

run;

View solution in original post


All Replies
Solution
‎08-29-2011 12:55 PM
PROC Star
Posts: 7,474

Determine lag of muliple variables in a dataset

I think you are trying to do something like:

data data1 (drop=i);

  set data0;

  by id;

  array vars {*} A B C;

  array lagvars(3);

  do i = 1 to 3;

    lagvars(i)=lag(vars(i));

    if first.id then call missing(lagvars(i));

  end;

run;

Contributor
Posts: 41

Determine lag of muliple variables in a dataset

That worked perfectly, although I changed the second array to hardcode the lag variable names. Thanks!Smiley Happy

array lagvars(*) A1 A2 A3;

🔒 This topic is solved and locked.

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

Discussion stats
  • 2 replies
  • 164 views
  • 0 likes
  • 2 in conversation