Programming the statistical procedures from SAS

how to refer to a previous value in longitudinal data set

Reply
New Contributor
Posts: 4

how to refer to a previous value in longitudinal data set

I am working with a longitudinal data; students received a degree at a certain time; I wonder how I can change all the values to 1 after degree attainment. For example, this is what my data looks like now:

Id     time     award

1       1           .

1        2          .

1       3           1

1       4           .

1        5           .

What I would like to do is to change the two missing values for time=5 and time=6 into 1. Any help is appreciated~!

Respected Advisor
Posts: 4,606

Re: how to refer to a previous value in longitudinal data set

This way, assuming your data is sorted by id and time:

data have;

input Id     time     award;

datalines;

1       1           .

1        2          .

1       3           1

1       4           .

1        5           .

;

data want;

do until(last.id);

  set have; by id;

  gotIt = coalesce(gotIt, award);

  award = gotIt;

  output;

  end;

drop gotIt;

run;

proc print data=want noobs; run;

PG

PG
Ask a Question
Discussion stats
  • 1 reply
  • 120 views
  • 0 likes
  • 2 in conversation