The relevant column in my dataset are "gvkey" (a group id), datadate (ex. YYYYMMDD = 20100531), and revt.
The observation frequency is annual.
I want to to construct a rolling max of "revt" for the PREVIOUS 4 years for some "gvkey".
I don't want to hard code a window size of 5 because this would not handle missing values appropriately.
I'm very new the STATA so I'm not sure how this should be handled but I think SQL is the way to go.
For sake of clarity, I need something that is the functional equivalent in STATA to this code from SAS
proc sql;
create table want as select
a.gvkey,
a.datadate,
max(b.revt) as maxRevt
from
have as a inner join
have as b on a.gvkey=b.gvkey and
b.datadate between intnx("YEAR", a.datadate, -4) and a.datadate - 1
group by a.gvkey, a.datadate;
quit;
Related Posts with How can I create a lagged 4 year max variable?
Replacing missing rows of a variableDear All I have a file with more than 1k observations and two variables. One of the variables Y is c…
Exporting Logistic Regression output table - command using 'svyset'Dear experts, I am running logistic regression model using 'svyset' command in Stata 15. I am unable…
Correct for Selection on Independent VariablesDear Statalists, I am confused about how to correct for selection on one independent variable. I wa…
How to sort data for distinct IDs with multiple visits and multiple valuesDear all, I have a dataset that has multiple visits for each person. However each person had a diff…
Panel VECM in STATA I am giving a general description of the model in a panel setting: Let y, a, b, and z are four vari…
Subscribe to:
Post Comments (Atom)
0 Response to How can I create a lagged 4 year max variable?
Post a Comment