Hi everyone, I've got this dataset data new; length subjid $8 day $10 value 8; input subjid day value; datalines; 1 baseline 10 1 week2 12 1 week4 14 1 week8 16 1 week12 12 2 baseline 10 *week2 will remain missing; 2 week4 8 3 baseline 10 3 week2 3 3 week8 4 ; run; and i need to imputed the missing data using the last observation carrried forward (LOCF) but the baseline data is not carried forward, i.e if week2 is missing , it will be missing (*). The final dataset I want: 1 baseline 10 1 week2 12 1 week4 14 1 week8 16 1 week12 12 2 baseline 10 2 week4 8 2 week8 8 2 week12 8 3 baseline 10 3 week2 3 3 week4 3 3 week8 4 3 week12 4 I need some help to modify the below code that Haikuo wrote (baseline carried forward) to considering now this new condition (baseline data is not carried forward), ... another alternative code can be useful too...thanks. proc format; value $seq 'baseline'=1 'week2'=2 'week4'=3 'week8'=4 'week12'=5 ; value seq 1='baseline' 2='week2' 3='week4' 4='week8' 5='week12' ; run; data new; length subjid $8 day $10 value 8; input subjid day value; datalines; 1 baseline 10 1 week2 12 1 week4 14 1 week8 16 1 week12 12 2 baseline 10 2 week2 12 2 week4 10 3 baseline 10 3 week2 3 3 week8 4 ; data new1; set new; _day=put(day,$seq.); run; data want; set new1; by subjid; set new1(firstobs=2 keep=_day rename=_day=__day) new1(obs=1 drop=_all_); if not last.subjid then do _i=_day to __day-1; day=put(_i,seq.); output; end; else do _i=_day to 5; day=put(_i,seq.); output; end; drop _:; run; proc print;run; Thanks. V
... View more