Hello;
Since I do not have ETS package licensed, I am trying to use data step in sas to calculate EWMA (Exponential Weighted Moving Average).
Let me give you an example of what I need to calculate EWMA. Assume I have the following dataset:
I want to add two columns named "smoothed" and "forecasted". the first element of the forcasted column is average of the "ILI_Percent", so we have:
the smoothed value of each row is going to be : 0.5 * ILI_Percent [i] + 0.5 * forecasted[i]
and the next value of the forecasted column is equal to the prevouis value of smoothed column: smoothed[i]=forecasted[i+1]
so we are going to have:
I am trying to do the same thing in data step, but I am not sure how can I reach to previous element of a column in data step. I would be appriciate if someone help me with this.
If it's something you calculate, use a retain statement to hold the value in a variable. If it is a value that is already in the dataset, use the lag function.
Art, CEO, AnalystFinder.com
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.