clear set maxvar 30000 use "2023.02.15 Draft Data File.dta" set more off ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* *** *** 1. Data file initially consists of all 1,464 men who were selected in the 1st 12 rounds of the 1950 through 1959 NFL drafts (whether or not they ever played) *** 2. Declare missing values *** 3. Select the 1,365 cases with no missing data on (a) number of games played or (b) birthdate *** ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* replace Birth_Month=. if Birth_Month==-9 replace Birth_Day=. if Birth_Day==-9 replace Birth_Year=. if Birth_Year==-9 replace Death_Month=. if Death_Month==-9 replace Death_Day=. if Death_Day==-9 replace Death_Year=. if Death_Year==-9 drop if G==. drop if Birth_Month==. | Birth_Day==. | Birth_Year==. ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* *** *** Create exposure measures *** ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* gen played=1 replace played=0 if G==0 * Quartiles of distribution of number of games layed, with 0 as the reference egen Gcat_Full = cut(G), at(0,1,13,42,95,256) egen Gcat_Line = cut(G), at(0,1,11,42,94,256) egen Gcat_Other = cut(G), at(0,1,13,41,96,203) * Position rename Pos x gen pos=. replace pos=1 if x=="DB" replace pos=2 if x=="DE" replace pos=3 if x=="DL" replace pos=4 if x=="E" replace pos=5 if x=="K" replace pos=6 if x=="OL" replace pos=7 if x=="P" replace pos=8 if x=="QB" replace pos=9 if x=="RB" drop x lab var pos "Position" lab def x 1 "DB" 2 "DE" 3 "DL" 4 "E" 5 "K" 6 "OL" 7 "P" 8 "QB" 9 "RB" lab val pos x gen lineman=0 replace lineman=1 if pos==3 | pos==6 ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* *** *** Create mortality outcome measures *** ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* *** Dead? gen dead=1 replace dead=0 if Death_Year==. ** Set dates for NFL Drafts ** https://en.wikipedia.org/wiki/List_of_NFL_drafts gen dmonth=0 gen dday =0 gen dyear =0 replace dmonth=1 if Year==1950 replace dday =20 if Year==1950 replace dyear =1950 if Year==1950 replace dmonth=1 if Year==1951 replace dday =18 if Year==1951 replace dyear =1951 if Year==1951 replace dmonth=1 if Year==1952 replace dday =17 if Year==1952 replace dyear =1952 if Year==1952 replace dmonth=1 if Year==1953 replace dday =22 if Year==1953 replace dyear =1953 if Year==1953 replace dmonth=1 if Year==1954 replace dday =28 if Year==1954 replace dyear =1954 if Year==1954 replace dmonth=1 if Year==1955 replace dday =27 if Year==1955 replace dyear =1955 if Year==1955 replace dmonth=11 if Year==1956 & Rnd >= 1 & Rnd <= 3 replace dday =28 if Year==1956 & Rnd >= 1 & Rnd <= 3 replace dyear =1955 if Year==1956 & Rnd >= 1 & Rnd <= 3 replace dmonth=1 if Year==1956 & Rnd >= 4 & Rnd <= 12 replace dday =17 if Year==1956 & Rnd >= 4 & Rnd <= 12 replace dyear =1956 if Year==1956 & Rnd >= 4 & Rnd <= 12 replace dmonth=11 if Year==1957 & Rnd >= 1 & Rnd <= 4 replace dday =26 if Year==1957 & Rnd >= 1 & Rnd <= 4 replace dyear =1956 if Year==1957 & Rnd >= 1 & Rnd <= 4 replace dmonth=1 if Year==1957 & Rnd >= 5 & Rnd <= 12 replace dday =31 if Year==1957 & Rnd >= 5 & Rnd <= 12 replace dyear =1957 if Year==1957 & Rnd >= 5 & Rnd <= 12 replace dmonth=12 if Year==1958 & Rnd >= 1 & Rnd <= 4 replace dday =2 if Year==1958 & Rnd >= 1 & Rnd <= 4 replace dyear =1957 if Year==1958 & Rnd >= 1 & Rnd <= 4 replace dmonth=1 if Year==1958 & Rnd >= 5 & Rnd <= 12 replace dday =28 if Year==1958 & Rnd >= 5 & Rnd <= 12 replace dyear =1958 if Year==1958 & Rnd >= 5 & Rnd <= 12 replace dmonth=12 if Year==1959 & Rnd >= 1 & Rnd <= 4 replace dday =1 if Year==1959 & Rnd >= 1 & Rnd <= 4 replace dyear =1958 if Year==1959 & Rnd >= 1 & Rnd <= 4 replace dmonth=1 if Year==1959 & Rnd >= 5 & Rnd <= 12 replace dday =21 if Year==1959 & Rnd >= 5 & Rnd <= 12 replace dyear =1959 if Year==1959 & Rnd >= 5 & Rnd <= 12 ** Number of days survived since draft for men who DIED gen date1 = mdy(dmonth, dday, dyear) gen date2 = mdy(Death_Month, Death_Day, Death_Year) format date1 %td format date2 %td gen survived = date2 - date1 drop date1 date2 ** Number of days survived since draft for men who SURVIVED gen date1 = mdy(dmonth, dday, dyear) gen date2 = mdy(2, 1, 2023) format date1 %td format date2 %td gen x = date2 - date1 replace survived=x if dead==0 drop x date1 date2 dmonth dday dyear *** Age at Death (Missing for those who didn't die) gen date1 = mdy(Birth_Month, Birth_Day, Birth_Year) gen date2 = mdy(Death_Month, Death_Day, Death_Year) format date1 %td format date2 %td gen aad = (date2 - date1)/365 drop date1 date2 *** Generate survival dates for descriptive figure forval i=1(1)26675 { gen s`i'=1 replace s`i'=0 if survived <= `i' } *gen s1=1 *replace s1=0 if survived <= 1 ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* *** *** Generate descriptives *** ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* log using "descriptives.log" log on summ dead aad DrAge Year Rnd G summ dead aad DrAge Year Rnd G if played==0 & lineman==0 summ dead aad DrAge Year Rnd G if played==1 & lineman==0 summ dead aad DrAge Year Rnd G if played==0 & lineman==1 summ dead aad DrAge Year Rnd G if played==1 & lineman==1 summ s1-s26675 summ s1-s26675 if played==0 & lineman==0 summ s1-s26675 if played==1 & lineman==0 summ s1-s26675 if played==0 & lineman==1 summ s1-s26675 if played==1 & lineman==1 log off log close ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* *** *** Model Risk of Death *** ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* ********************************************************************************************************************************************************************* log using "models.log" log on stset survived, failure(dead==1) * Played at all stcox played DrAge Year Rnd stcox played DrAge Year Rnd if lineman==0 stcox played DrAge Year Rnd if lineman==1 * Also account for number of games played stcox i.Gcat_Full DrAge Year Rnd stcox i.Gcat_Other DrAge Year Rnd if lineman==0 stcox i.Gcat_Line DrAge Year Rnd if lineman==1 log off log close