Hello,
I am looking to lag the exposure to outcome by a year. What I mean by this is that for a given year in my data, I want the exposure in one year to be associated with the outcome in the next, instead of the same year. This is because I want to avoid reverse causation.
So if the exposure for 1999 is 26, I would want it to match with the outcome for 2000.
Here is my code without the lag:
PROC GENMOD data=data1;
CLASS StateID year (ref=first) event (ref=first);
MODEL Outcome =Exposure confounder / DIST=poisson LINK=log TYPE3 WALD offset=lnpop;
REPEATED SUBJECT=stateid;
run;
I have an offset of state population and a repeated subject on stateID. Outcome is my main outcome and exposure is my main exposure. Confounder is a confounder. I do not think that the confounder should be lagged, just the main exposure and outcome.
Thanks so much!
You could run your analysis on table data2 given by:
proc sql;
create table data2 as
select
a.*,
b.Exposure as lastYearExposure
from
data1 as a inner join
data1 as b on a.stateId = b.stateId and b.year = a.year-1;
quit;
(untested)
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.