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?
Keep last 4 digits of a numeric variableHi everyone, I would like to ask you how can I keep the last 4 digits of the variable date. It is a …
SchemesI have just upgraded from 15 to 16. Is there any way to import my schemes from 15 without having to …
Managing workflow with the global macroHello Stata users, I am trying to use the global macro to switch between subfolders. For instance, …
heteroskedastic ordered probit with survey dataI am running an ordered probit model using survey data (svy) and trying to test for heteroskedastict…
Graph line with values for only a few groups over timeHi, I want to graph the development of the number of houses of the type "allmännyttan" (publicly ow…
Subscribe to:
Post Comments (Atom)
0 Response to How can I create a lagged 4 year max variable?
Post a Comment