set more 1 /* File: cepr_dws_dws.do Date: Jan 20, 2004 Desc: Creates consistent displacement-related variables for CEPR consistent extract of CPS Displaced Workers Survey Note: See copyright notice at end of program. */ /* Determine data year */ local year=year in 1 lab var year "Year" /* Load labels */ cd $dwsdo do cepr_dws_label_ind.do cd $dwsdo do cepr_dws_label_occ.do /* Displaced Workers Survey interview status */ gen byte dw_stat=. if `year'==1994 { * prsupsat not available; constructed here from components replace dw_stat=1 if hrintsta~=1 | peage<20 | prpertyp~=2 replace dw_stat=2 if pes33==2 | (pes33==1 & (1<=pes34 & pes34<=6) ) replace dw_stat=3 if (hrintsta==1 & 20<=peage & prpertyp==2) & dw_stat~=2 } if 1996<=`year' & `year'<=2006 { replace dw_stat=prsupsat replace dw_stat=. if prsupsat<0 } lab var dw_stat "DWS interview status" #delimit ; lab def dw_stat 1 "Not eligible" 2 "Interview" 3 "Noninterview" ; #delimit cr notes dw_stat: "Eligible" if in CPS basic survey, in a civilian household, /* */ and age 20 or older notes dw_stat: "Interview" if valid response to dw and dw_why notes dw_stat: "Noninterview" if met eligibility criteria, but not /* */ interview criteria /* In Displaced Worker Survey */ gen byte indws=. if 1994<=`year' & `year'<=2006 { replace indws=1 if dw_stat==2 replace indws=0 if dw_stat==1 | dw_stat==3 } lab var indws "Eligible for DWS" notes indws: Universe includes individuals age 20 or older in civilian /* */ households /* DWS supplement weight */ gen dwswgt=. if `year'==1994 { * no DWS-specific weight; following BLS, use final weight instead replace dwswgt=pwsswgt } if 1996<=`year' & `year'<=2006 { replace dwswgt=pwsupwgt } lab var dwswgt "DWS weight" notes dwswgt: DWS-specific weight 1998-2004; CPS basic "final" weight 1994 /* Displaced, any reason */ gen byte dw=. if `year'==1994 { replace dw=1 if pes33==1 replace dw=0 if pes33==2 } if 1996<=`year' & `year'<=2006 { replace dw=1 if pesd1==1 replace dw=0 if pesd1==2 } if `year'==2006 { replace dw=0 if prsk2==1 /* exclude Hurricane Katrina */ } lab var dw "Displaced" notes dw: Displaced in last 3 years for any reason notes dw: Excludes displacement due to Hurricane Katrina /* Reason displaced */ gen byte dw_why=. if `year'==1994 { replace dw_why=pes34 replace dw_why=. if pes34<0 } if 1996<=`year' & `year'<=2006 { replace dw_why=pesd2 replace dw_why=. if pesd2<0 } lab var dw_why "Reason displaced" #delimit ; lab def dw_why 1 "Plant closing" 2 "Insufficient work" 3 "Position abolished" 4 "Seasonal job ended" 5 "Self-operated business failed" 6 "Other" ; #delimit cr lab val dw_why dw_why notes dw_why: Characteristics about lost job are available only for those /* */ whose reason for displacement was: plant closing, insufficient work, /* */ or position abolished /* Year displaced */ gen int dw_when=. if `year'==1994 { replace dw_when=1991 if pes35==1 replace dw_when=1992 if pes35==2 replace dw_when=1993 if pes35==3 } if `year'==1996 { replace dw_when=1993 if pesd3==1 replace dw_when=1994 if pesd3==2 replace dw_when=1995 if pesd3==3 } if `year'==1998 { replace dw_when=1995 if pesd3==1 replace dw_when=1996 if pesd3==2 replace dw_when=1997 if pesd3==3 } if `year'==2000 { replace dw_when=1997 if pesd3==1 replace dw_when=1998 if pesd3==2 replace dw_when=1999 if pesd3==3 } if `year'==2002 { replace dw_when=1999 if pesd3==1 replace dw_when=2000 if pesd3==2 replace dw_when=2001 if pesd3==3 } if `year'==2004 { replace dw_when=2001 if pesd3==1 replace dw_when=2002 if pesd3==2 replace dw_when=2003 if pesd3==3 } if `year'==2006 { replace dw_when=2003 if pesd3==1 replace dw_when=2004 if pesd3==2 replace dw_when=2005 if pesd3==3 } lab var dw_when "Year displaced" note dw_when: Response of 'other' year recoded as missing note dw_when: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Expect to be recalled in next 6 months */ gen byte xrecall=. if `year'==1994 { replace xrecall=1 if pes36==1 replace xrecall=0 if pes36==2 } if 1996<=`year' & `year'<=2006 { replace xrecall=1 if pesd4==1 replace xrecall=0 if pesd4==2 } lab var xrecall "Expect recall next 6 months" notes xrecall: Asked only if reason for displacement was /* */ "insufficient work" or "position abolished," or if displaced in /* */ calendar year immediately before survey /* Received advanced written notice of displacement */ gen byte notice=. if `year'==1994 { replace notice=1 if pes38==1 replace notice=0 if pes38==2 } if 1996<=`year' & `year'<=2006 { replace notice=1 if pesd5==1 replace notice=0 if pesd5==2 } lab var notice "Received advanced notice" notes notice: Advanced notice in writing notes notice: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* How much advanced notice? */ gen byte not_when=. if `year'==1994 { replace not_when=1 if pes39==1 replace not_when=2 if pes39==2 replace not_when=3 if pes39==3 } if 1996<=`year' & `year'<=2006 { replace not_when=1 if pesd6==1 replace not_when=2 if pesd6==2 replace not_when=3 if pesd6==3 } lab var not_when "How much notice" #delimit ; lab def not_when 1 "<1 month" 2 "1-2 months" 3 "2- months" ; #delimit cr lab val not_when not_when notes not_when: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Class of worker at lost job, detailed */ gen byte ljcowd=. if `year'==1994 { * replace ljcowd=. /* not available in 1994 */ } if 1996<=`year' & `year'<=2006 { replace ljcowd=pescow1 replace ljcowd=. if pescow1==9 replace ljcowd=. if pescow1<0 replace ljcowd=9 if pescow1==10 replace ljcowd=10 if pescow1==11 } lab var ljcowd "LJ: Class of worker, detailed" #delimit ; lab def ljcowd 1 "Federal government" 2 "State government" 3 "Local government" 4 "Private, for profit" 5 "Private, nonprofit" 6 "Self-employed, incorporated" 7 "Self-employed, unincorporated" 8 "Without pay" 9 "Government, level unknown" 10 "Self-employed, inc. status unknown" ; #delimit cr lab val ljcowd ljcowd notes ljcowd: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" notes ljcowd: Missing in 1994 /* Class of worker at lost job */ gen byte ljcow=. if `year'==1994 { replace ljcow=1 if (1<=pescow & pescow<=3) | pescow==10 replace ljcow=2 if pescow==4 | pescow==5 * self-employed category differs in 1994 relative to later years replace ljcow=3 if pescow==11 replace ljcow=4 if pescow==8 } if 1996<=`year' & `year'<=2006 { replace ljcow=1 if (1<=pescow1 & pescow1<=3) | pescow1==10 replace ljcow=2 if pescow1==4 | pescow1==5 replace ljcow=3 if pescow1==6 | pescow1==7 | pescow1==11 replace ljcow=4 if pescow1==8 } lab var ljcow "LJ: Class of worker" #delimit ; lab def ljcow 1 "Government" 2 "Private" 3 "Self-employed" 4 "Without pay" ; #delimit cr lab val ljcow ljcow notes ljcow: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" notes ljcow: Self-employed category probably differs in 1994 relative to /* */ later years /* Industry at lost job, detailed */ gen ljindd94=. gen ljindd04=. if `year'==1994 { replace ljindd94=pesicd replace ljindd94=. if pesicd==999 } if 1996<=`year' & `year'<=2002 { replace ljindd94=pes1icd replace ljindd94=. if pes1icd<0 } if 2004<=`year' & `year'<=2006 { replace ljindd04=pes1icd replace ljindd04=. if pes1icd<0 replace ljindd04=. if pes1icd==9970 | pes1icd==9990 } lab var ljindd94 "LJ: Industry, detailed" lab val ljindd94 ind80 notes ljindd94: 1994-2002 based on 1987 SIC notes ljindd94: Classifications for 2004, 2006 not consistent with 1994-2002 notes ljindd94: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" lab var ljindd04 "LJ: Industry, detailed" lab val ljindd04 ind03 notes ljindd04: 2004, 2006 based on 2002 NAICS notes ljindd04: Classifications for 2004, 2006 not consistent with 1994-2002 notes ljindd04: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Industry at lost job, two-digit */ gen byte ljind94=. gen byte ljind04=. if 1994<=`year' & `year'<=2002 { replace ljind94=prsdind replace ljind94=. if prsdind<0 replace ljind94=. if prsdind==99 /* 1994 */ } if 2004<=`year' & `year'<=2006 { replace ljind04=prsdind replace ljind04=. if prsdind<0 } lab val ljind94 ind2d80 lab var ljind94 "LJ: Industry" lab val ljind94 notes ljind94: 1994-2002 based on 1987 SIC notes ljind94: Classifications for 2004 not consistent with 1994-2002 notes ljind94: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" lab val ljind04 ind_2d lab var ljind04 "LJ: Industry" lab val ljind04 notes ljind04: 2004- based on 2002 NAICS notes ljind04: Classifications for 2004 not consistent with 1994-2002 notes ljind04: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Lost job in agriculture */ if 1994<=`year' & `year'<=2002 { gen byte ljagric=0 if ljind94~=. replace ljagric=1 if ljind94==1 | ljind94==2 | ljind94==47 gen byte ljmanuf=0 if ljind94~=. replace ljmanuf=1 if 3<=ljind94 & ljind94<=28 replace ljmanuf=0 if ljind94==4 /* construction */ gen byte ljservs=0 if ljind94~=. replace ljservs=1 if (29<=ljind94 & ljind94<=52) & ljind94~=47 replace ljservs=1 if ljind94==4 /* construction */ } if 2004<=`year' & `year'<=2006 { gen byte ljagric=0 if ljind04~=. replace ljagric=1 if ljind04==1 | ljind04==2 gen byte ljmanuf=0 if ljind04~=. replace ljmanuf=1 if 3<=ljind04 & ljind04<=20 replace ljmanuf=0 if ljind04==4 /* construction */ gen byte ljservs=0 if ljind04~=. replace ljservs=1 if 21<=ljind04 & ljind04<=52 replace ljservs=1 if ljind04==4 } lab var ljagric "Agriculture" notes ljagric: Includes forestry and fishing lab var ljmanuf "Manufacturing" notes ljmanuf: Excludes transportation, communications, utilities, construction notes ljmanuf: Includes mining lab var ljservs "Services" notes ljservs: Includes transportation, communications, utilities, construction notes ljservs: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Occupation at lost job, detailed */ gen ljoccd94=. gen ljoccd04=. if `year'==1994 { replace ljoccd94=pesocd replace ljoccd94=. if pesocd<0 } if 1996<=`year' & `year'<=2002 { replace ljoccd94=pes1ocd replace ljoccd94=. if pes1ocd<0 } if 2004<=`year' & `year'<=2006 { replace ljoccd04=pes1ocd replace ljoccd04=. if pes1ocd<0 replace ljoccd04=. if pes1ocd==9970 | pes1ocd==9990 } lab var ljoccd94 "LJ: Occupation, detailed" lab val ljoccd94 occ80 notes ljoccd94: 1980 SOC equivalents in parentheses notes ljoccd94: Classifications for 1994-2002 not consistent with 2004-06 notes ljoccd94: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" lab var ljoccd04 "LJ: Occupation, detailed" lab val ljoccd04 occ03 notes ljoccd04: 1980 SOC equivalents in parentheses notes ljoccd04: Classifications for 1994-2002 not consistent with 2004-06 notes ljoccd04: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Occupation at lost job */ gen byte ljocc94=. gen byte ljocc04=. if 1994<=`year' & `year'<=2002 { replace ljocc94=prsdocc replace ljocc94=. if prsdocc<0 replace ljocc94=. if prsdocc==99 /* 1994 */ } if 2004<=`year' & `year'<=2006 { replace ljocc04=prsdocc replace ljocc04=. if prsdocc<0 } lab var ljocc94 "LJ: Occupation" lab val ljocc94 docc80 notes ljocc94: 1980 SOC equivalents in parentheses notes ljocc94: Classifications for 1994-2002 not consistent with 2004-06 notes ljocc94: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" lab var ljocc04 "LJ: Occupation" lab val ljocc04 docc03 notes ljocc04: 2000 SOC equivalents in parentheses notes ljocc04: Classifications for 1994-2002 not consistent with 2004-06 notes ljocc04: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Union member at lost job */ gen byte ljunion=. if `year'==1994 { replace ljunion=1 if pes48==1 replace ljunion=0 if pes48==2 } if 1996<=`year' & `year'<=2006 { replace ljunion=1 if pesd16==1 replace ljunion=0 if pesd16==2 } lab var ljunion "LJ: Union" notes ljunion: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Health insurance at lost job */ gen byte ljhealth=. if `year'==1994 { replace ljhealth=1 if pes49==1 replace ljhealth=0 if pes49==2 } if 1996<=`year' & `year'<=2006 { replace ljhealth=1 if pesd17==1 replace ljhealth=0 if pesd17==2 } lab var ljhealth "LJ: Health insurance" notes ljhealth: Asked only if reason for displacement was /* */ "plant closing," "insufficient work," or "position abolished" /* Employer tenure at lost job */ /* 1994: DWS asks for number of years on lost job 1998-2004: information in ljten1 & ljten2 converted to years */ gen ljten=. /* 1998-2004: BLS recode for tenure on lost job */ gen ljtenr=. if `year'==1994 { replace ljten=pes50 replace ljten=. if pes50<0 /* valid range 1-99 years */ replace ljten=. if 99