How to do this in SAS:
I want to replace a missing value with the mean of lagged value and its next value?
i believe it could be achieved by using the lag function.
may be sample data and the expected output could help to get better solution.
Thanks,
Jag
There have been a lot of the same questions. https://communities.sas.com/thread/59681
Or google: "impute missings site:communities.sas.com"
If you have access to SAS/ETS, use the Expand procedure :
data myData;
input time value;
datalines;
0 -100
1 10
2 25
3 .
4 35
5 .
6 .
7 55
8 -1
;
proc expand data=myData out=filledData method=none;
id time;
convert value=filledValue / transformout=(missonly cmovave 3);
run;
proc print data=filledData noobs; run;
PG
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.