I have age-specific rates that are in 5-year age intervals that I want to interpolate to rates for single-years of age. In the past I've done this in excel. Is proc expand the correct procedure? I only see info on changing things from monthly to daily, etc and not from 5-year to 1-year rates.
Thanks in advance for any guidance.
Yeah. I think proc expand can do that.
Make a year variable.
year
1
2
..
and put it in ID statement of proc expand.
Thank you, Xia, for your help.
In case anyone is wondering what I ended up doing, here is what I did. The results are very close to the data that I was getting when I did the interpolation in excel.
/*I created an empty dataset with all the ages by 1 so that I would have the correct ages to fill in with the interpolated data:*/
data padded;
do age=15 to 44 by 1;
output;
end;
run;
/*Then I merged that dummy data set onto my data set that had my 5-year fertility rates:*/
data pad;
merge padded work.fert_rates_2012;
by age;
run;
/*Then this is the expand options that I used. The convert has the two fertility rate variables--one for hispanic one for non-hispanic and used the age variable as the ID.*/
proc expand data=pad out=expanded method = spline(natural)
extrapolate;
id age;
convert hisp_irate nonhisp_irate;
run;
Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.