National Evaluation of Welfare-to-Work Strategies: 2-Year Child Outcomes Study (COS) Files: Create Baseline Covariates and Subgroups

09/14/2001

CREATION OF 10-ITEM FAMILY RISK VARIABLE USED TO IMPUTE
BASELINE COVARIATES AND BASELINE SUBGROUPS


array riskindx(10) CTHSGRKB CTNCHRKB CTLITRKB CTNUMRKB CTWRKRKB
CTWLFRKB CTDEPRKB CTLOCRKB CTBARRKB CTSUPRKB;

riskmiss=0;
do a=1 to 10;
if riskindx{a} eq . then riskmiss=riskmiss+1;
end;

if riskmiss le 2 then do;
  CTRSKSMB=sum(CTHSGRKB, CTNCHRKB, CTLITRKB, CTNUMRKB, CTWRKRKB,
CTWLFRKB,
              CTDEPRKB, CTLOCRKB, CTBARRKB, CTSUPRKB);
end;
IF RISKMISS=1 THEN CTRSKSMB=CTRSKSMB*(10/9);
IF RISKMISS=2 THEN CTRSKSMB=CTRSKSMB*(10/8);

label CTRSKSMB='B: Number of 10 Baseline Risks';

if CTRSKSMB GE 6 then CTRSKTRB=2;
if (CTRSKSMB GE 4 AND CTRSKSMB LT 6) then CTRSKTRB=1;
if CTRSKSMB LT 4 then CTRSKTRB=0;
if CTRSKSMB eq . then CTRSKTRB=.;
label CTRSKTRB='B: Number of Risks 0=0-3/1=4-5/2=6-10';




CREATION OF COMPOSITED BASELINE COVARIATES


***CHILD AGE AT RAD***;
chagerad=int((radat-cbrthday)/30);
label chagerad='B: Focal Child Age at RAD (mos)';


***NUMBER OF CHILDREN IN HOUSEHOLD***;
array numchi(6) agech1 agech2 agech3 agech4 agech5 agech6;

CTNCHSMB=0;
do a=1 to 6;
if numchi{a} gt 0 and numchi{a} le 18
    then CTNCHSMB=CTNCHSMB+1;
end;
label CTNCHSMB ='B: Number of children age 1-18';

ctnchtrb=.;
if CTNCHSMB eq 1 then CTNCHTRB=1;
if CTNCHSMB eq 2 then CTNCHTRB=2;
if CTNCHSMB ge 3 then CTNCHTRB=3;
if CTNCHSMB = . then CTNCHTRB = .;
label CTNCHTRB='B: Number of children, 1 2 3+';


***LITERACY***;
ctlitrkb=.;
if TREADGRP in (1,2) then CTLITRKB=1;
if TREADGRP in (3,4,5) then CTLITRKB=0;
if TREADGRP = . then CTLITRKB = .;
label CTLITRKB='B:literacy:lower (1), higher (0)';


***NUMERACY***;
ctnumrkb=.;
if CMATHGRP in (1,2) then CTNUMRKB=1;
if CMATHGRP in (3,4,5,6) then CTNUMRKB=0;
if CMATHGRP = . then CTNUMRKB = .;
label CTNUMRKB='B: Numeracy lower (1), higher (0)';


***BASELINE DURATION EVER ON WELFARE***;
ctwlftrb=.;
if owncase in (1,2,3,4) then CTWLFTRB=1;
if owncase eq 5 then CTWLFTRB=2;
if owncase in (6,7) then CTWLFTRB=3;
if owncase = . then CTWLFTRB = .;
label CTWLFTRB='B: Time on welfare <2, 2-<5, 5+';


***BASELINE WORKED FT FOR 6+ MOS FOR SAME EMPLOYER***;
ctwrkrkb=.;
if workft = 1 then CTWRKRKB = 0;
if workft = 2 then CTWRKRKB = 1;
label CTWRKRKB ='B: No FT for 6+ mos same employer';



***BASELINE DEPRESSIVE SYMPTOMS***;
if nmiss(pq50, pq51, pq52, pq53) le 1 then do;
 ctdepmnb=mean(pq50, pq51, pq52, pq53);

 if CTDEPMNB le 2 then CTDEPTRB=0;
 if CTDEPMNB gt 2 and CTDEPMNB lt 3 then CTDEPTRB=1;
 if CTDEPMNB ge 3 and CTDEPMNB le 4 then CTDEPTRB=2;

 if CTDEPTRB lt 2 then CTDEPRKB=0;
 if CTDEPTRB = 2 then CTDEPRKB=1;
end;

label CTDEPRKB='B: Depression Risk, 0=low/med 1=high';
label CTDEPTRB='B: Depressive Symptoms, 2=hi 1=med 0=low';
label CTDEPMNB='B: Mean Depressive Symptoms';


***BASELINE LOCUS OF CONTROL***;
if nmiss(pq27, pq29, pq34, pq42) le 1 then do;
  CTLOCMNB=mean(pq27, pq29, pq34, pq42);

 if CTLOCMNB le 2 then CTLOCTRB=0;
 if CTLOCMNB gt 2 and CTLOCMNB lt 3 then CTLOCTRB=1;
 if CTLOCMNB ge 3 and CTLOCMNB le 4 then CTLOCTRB=2;
 if CTLOCMNB eq . then CTLOCTRB=.;

 if CTLOCTRB in (1,2) then CTLOCRKB=0;
 if CTLOCTRB = 0 then CTLOCRKB=1;
 if CTLOCTRB = .  then CTLOCRKB=.;
end;

label CTLOCRKB='B: Loc Control Risk, 0=int,neutr/1=ext';
label CTLOCTRB='B: Locus of Control, 0=ext/1=neut/2=int';
label CTLOCMNB='B: Mean Locus of Control';


***BASELINE SOURCES OF SOCIAL SUPPORT***;
if pq36 in (1,2) then havecash=1;
if pq36 in (3,4) then havecash=0;
if pq36 eq . then havecash=.;
label havecash='B: Can Find Cash Help 1=Yes 0=No';

if pq39 in (1,2) then havetalk=1;
if pq39 in (3,4) then havetalk=0;
if pq39 eq . then havetalk=.;
label havetalk='B: Have Someone Talk Troubles With 1=Yes';

if pq28 in (1,2) then havecare=1;
if pq28 in (3,4) then havecare=0;
if pq28 eq . then havecare=.;
label havecare='B: Can Find Someone Watch Children 1=Yes';

if nmiss(havecash, havecare, havetalk) = 0 then do;
 ctsupsmb=sum(havecash, havecare, havetalk);
end;
if ctsupsmb ge 1 then ctsuprkb=0;
if ctsupsmb = 0 then ctsuprkb=1;
label CTSUPSMB='B: Sum of 3 sources of support';
label CTSUPRKB='B: No source of support, 3 types';


***BASELINE FAMILY BARRIERS TO WORK***;
if pq45 in (1,2) then pq45barr = 1;
if pq45 in (3,4) then pq45barr = 0;
if pq45 = . then pq45barr = .;

if pq46 in (1,2) then pq46barr = 1;
if pq46 in (3,4) then pq46barr = 0;
if pq46 = . then pq46barr = .;

if pq22 in (1,2) then pq22barr = 1;
if pq22 in (3,4) then pq22barr = 0;
if pq22 = . then pq22barr = .;

if pq30 in (1,2) then pq30barr = 1;
if pq30 in (3,4) then pq30barr = 0;
if pq30 = . then pq30barr = .;

if pq49 in (1,2) then pq49barr = 1;
if pq49 in (3,4) then pq49barr = 0;
if pq49 = . then pq49barr = .;

if pq44 in (1,2) then pq44barr=1;
if pq44 in (3,4) then pq44barr=0;
if pq44 = . then pq44barr = .;

if pq48 in (1,2) then pq48barr=1;
if pq48 in (3,4) then pq48barr=0;
if pq48 = . then pq48barr = .;

BARRMIS7=NMISS(PQ45barr, PQ46barr, PQ22barr, PQ30barr, PQ49barr,
PQ44barr, PQ48barr);
ctbarsmb = .;
if barrmis7 le 1 then do;
  CTBARSMB=sum(PQ45barr, PQ46barr, PQ22barr, PQ30barr, PQ49barr,
   pq44barr, pq48barr)*7/(7-barrmis7);
end;

ctBARtrb = .;
if BARRmis7 le 1 then do;
  if ctBARsmb = 0 then ctBARtrb=0;
  if (ctBARsmb ge 1 and ctbarsmb lt 4) then ctBARtrb=1;
  if ctBARsmb ge 4 then ctBARtrb=2;
end;
label CTBARtrB= 'B: Family Barriers Risk, 0=0/ 1=1-3, 2=4-7';
label CTBARSMB= 'B: Number of Family Barriers, 0-7';




CREATION OF COMPOSITED BASELINE SUBGROUPS

***COMPOSITE SIBLING CONSTELLATION RISK***;
***Number of Children Risk ***;

ctnchrkb=.;
if CTNCHTRB in (1, 2) then CTNCHRKB=0;
if CTNCHTRB = 3 then CTNCHRKB=1;
if CTNCHTRB = . then CTNCHRKB = .;
label CTNCHRKB='B: # of children 1or2=0, 3ormore=1';
format ctnchtrb ctnchtrb. Ctnchrkb ctnchrkb.;

***Birth Spacing Risk***
agefocal=.;
agefocal = floor(chagerad/12);
oldersib=99;  yngersib=-99;
label   agefocal='Ch Age Rad in Truncated Years'
        oldersib='Age of Older Sib-AGEFOCAL'
        yngersib='Age of Younger Sib-AGEFOCAL';

array ages{8} agech1 agech2 agech3 agech4 agech5 agech6 agech7 agech8;
array agedf{8} agedf1 agedf2 agedf3 agedf4 agedf5 agedf6 agedf7 agedf8;
array agezr{8} agezr1 agezr2 agezr3 agezr4 agezr5 agezr6 agezr7 agezr8;

do i=1 to 8;
agedf(i)=ages(i)-agefocal;
if (agedf(i) gt 0 and agedf(i) lt oldersib) then oldersib=agedf(i);
if (agedf(i) lt 0 and agedf(i) gt yngersib) then yngersib=agedf(i);
agezr(i)=1;
if agedf(i)=0 then agezr(i)=.;
end;

numzero=nmiss(agezr1,agezr2,agezr3,agezr4,agezr5,agezr6,agezr7,agezr8);

if yngersib=-99 then yngersib=.;
if oldersib=99 then oldersib=.;
agediff=yngersib;
if (agediff=.) then agediff=oldersib;
if (oldersib gt 0 and oldersib lt abs(agediff)) then agediff=oldersib;

if numzero ge 2 then agediff=0;
sib0not0=0;
label sib0not0='B:Ch singleton, looks like sibs';
if ctnchtrb=1 then do;
 if agediff ne . then sib0not0=1;
 oldersib=.; yngersib=.; agediff=.;
end;

ctspcrkb=0;
if agediff in (-1,0,1) then ctspcrkb=1;

ctsibrkb=0;
if (ctspcrkb=1 or ctnchrkb=1) then ctsibrkb=1;

if numzero=8 then do;
ctspcrkb=.;
Ctsibrkb=.;
End;

label
        agedf1='AgeCh1-AGEFOCAL'
        agedf2='AgeCh2-AGEFOCAL'
        agedf3='AgeCh3-AGEFOCAL'
        agedf4='AgeCh4-AGEFOCAL'
        agedf5='AgeCh5-AGEFOCAL'
        agedf6='AgeCh6-AGEFOCAL'
        agedf7='AgeCh7-AGEFOCAL'
        agedf8='AgeCh8-AGEFOCAL'
        agediff='Diff AGEFOCAL and closest sib'
        numzero='# HH kids same age as Focal'
        ctspcrkb='B:Birth Spacing Risk (<24mos)'
        ctsibrkb='B:Sibling Constellation Risk Composite';


***COMPOSITE EDUCATIONAL RISK***;
***Lack of High School Diploma/GED Risk***
cthsgrkb=.;
if HSDIP = 1 then CTHSGRKB = 0;
if HSDIP = 0 then CTHSGRKB = 1;
if HSDIP = . then CTHSGRKB = .;
label CTHSGRKB = 'B: No high school DIPLOMA or GED';

ctcedsmb=.;
CTCEDSMB=SUM(CTHSGRKB, CTLITRKB, CTNUMRKB);
IF (CTHSGRKB=. OR CTLITRKB=. OR CTNUMRKB=.) THEN CTCEDSMB=.;
LABEL ctcedsmb='B:Composite Summary Educational Score';

ctcedrkb=ctcedsmb;
if ctcedsmb ge 1 then ctcedrkb=1;
label ctcedrkb='B:Composite Educational Risk';


***COMPOSITE WORK RISK***;
***Long Term Welfare Risk***;
ctwlfrkb=.;
if CTWLFTRB in (1,2) then CTWLFRKB = 0;
if CTWLFTRB = 3 then CTWLFRKB = 1;
if CTWLFTRB = . then CTWLFRKB = .;
label CTWLFRKB='B: Receiving Welfare 5+ years';

***Number of Barriers Risk***;
ctBARrkb = .;
if (BARRmis7 le 1 and ctBARsmb ne .) then do;
  if (ctBARsmb lt 4) then ctBARrkb=0;
  if (ctBARsmb ne . And ctBARsmb ge 4) then ctBARrkb=1;
end;
IF BARRMIS7 GT 1 THEN CTBARRKB = .;

ctcwksmb=.;
CTCWKSMB=SUM(CTWLFRKB, CTWRKRKB, CTBARRKB);
IF (CTWLFRKB=. OR CTWRKRKB=. OR CTBARRKB=.) THEN CTCWKSMB=.;
LABEL ctcWKsmb='B:Composite Summary Work Score';

ctcwkrkb=ctcwksmb;
if ctcwksmb ge 1 then ctcwkrkb=1;
label ctcwkrkb='B:Composite Work Risk';


***COMPOSITE PSYCHOLOGICAL PROBLEMS RISK***;
array depr(3) pq50 pq51 pq52;
array deprr(3) pq50r pq51r pq52r;
do I=1 to 3;
if depr(i) in (3,4) then deprr(i)=1;
if depr(i) in (1,2) then deprr(i)=0;
end;
if pq51r=1 then pq51r=2;

array locr(3) pq27 pq34 pq42;
array locrr(3) pq27r pq34r pq42r;
do I=1 to 3;
if locr(i) in (1,2) then locrr(i)=1;
if locr(i) in (3,4) then locrr(i)=0;
end;

PSYCMISS=NMISS(pq50, pq51, pq52, pq27, pq34, pq42);

if psycmiss le 1 then do;
  CTpsysmB= sum(pq50r, pq51r, pq52r, pq27r, pq34r, pq42r);
end;
if psycmiss=1 and pq51r ne . then ctpsysmb=ctpsysmb*7/6;
if psycmiss=1 and pq51r=. then ctpsysmb=ctpsysmb*7/5;

IF PSYCMISS GT 1 THEN CTPSYSMB =.;
label CTpsysmB='B: Summary Psychological Probs';

CtPSYRKB = .;
if (psycmiss le 1 and ctpsysmb ne .) then do;
  if (ctpsysmb lt 2) then ctpsyrkb=0;
  if (ctpsysmb ge 2) then ctpsyrkb=1;
end;
IF PSYCMISS GT 1 THEN CTPSYRKB = .;
label ctpsyrkb='B: Psychological Risk';


***COMPOSITE NUMBER OF FOUR KEY RISKS***;
RISKMIS4 = NMISS(CTSIBRKB, CTcedRKB, CTcwkRKB, CTPSYRKB);
ct4rksmb = .;
if riskmis4 le 1 then do;
  CT4rksmb=sum(CTSIBRKB, CTcedRKB, CTcwkRKB, CTPSYRKB)*4/(4-riskmis4);
end;
if riskmis4 gt 1 then ct4rksmb = .;
label CT4rksmb='B: Number of 4 Baseline Risks';

ct4RKrkb = .;
if (RISKMIS4 le 1 and ct4RKsmb ne .) then do;
  if (ct4RKsmb lt 2) then ct4RKrkb=0;
  if (ct4RKsmb ge 2) then ct4RKrkb=1;
end;
IF RISKMIS4 GT 1 THEN CT4RKRKB = .;
label CT4rkrkb ='B: If Two or more Composite Risks';


***COMPOSITE CHILD AGE RISK***;
ctagerkb=.;
if chagerad le 51 then ctagerkb = 1;
if chagerad gt 51 then ctagerkb = 0;
label CTAGERKB= 'B:Younger than median child age';


***COMPOSITE RESERVATIONS TOWARD WORK RISK***;
prefhome=.;
if pq25 in (1,2) then PREFHOME =1;
if pq25 in (3,4) then PREFHOME =0;
label PREFHOME='B: Prefer FT home to work (PQ25)';

fearcare=.;
if pq47 in (1,2) then FEARCARE =1;
if pq47 in (3,4) then FEARCARE =0;
label FEARCARE='B: Afraid to leave child in care (PQ47)';

misskids=.;
if pq40 in (1,2) then MISSKIDS =1;
if pq40 in (3,4) then MISSKIDS =0;
LABEL MISSKIDS='B: Would miss kids if worked (PQ40)';

ctattsmb=.;
ctattsmb=sum(prefhome, fearcare, misskids);
if (prefhome=. Or fearcare=. Or misskids=.) Then ctattsmb=.;
Label ctattsmb='B:Work Reservation Attitudes Summary';

ctattrkb=ctattsmb;
if ctattsmb ge 1 then ctattrkb=1;
Label ctattrkb='B:Work Reservation Attitudes Risk';


***COMPOSITE POOR SCHOOL ATTITUDES RISK***;
prefmth1=pq1;
if pq1 = 2 then prefmth1= 0;
prefmth2=pq2;
if pq2 = 2 then prefmth2= 0;
prefmth3=pq3;
if pq3 = 2 then prefmth3= 1;
if pq3 = 1 then prefmth3= 0;
toldschl=pq6;
if pq6 = 2 then toldschl = 0;
belnschl=pq10;
if pq10 = 2 then belnschl = 1;
if pq10 in (3,4) then belnschl = 0;
likeschl=pq26;
if pq26 = 2 then likeschl = 1;
if pq26 in (3,4) then likeschl = 0;
wantschl=pq35;
if pq35 = 2 then wantschl = 1;
if pq35 in (3,4) then wantschl = 0;

ctschsmb = .;
schlmiss=nmiss(prefmth1,prefmth2,prefmth3,toldschl,belnschl,likeschl,wa
ntschl);
if schlmiss =0 then ctschsmb =
   sum(prefmth1,prefmth2,prefmth3,toldschl,belnschl,likeschl,wantschl);
if schlmiss =1 then ctschsmb =

sum(prefmth1,prefmth2,prefmth3,toldschl,belnschl,likeschl,wantschl)*7/6
;
IF SCHLMISS GT 1 THEN CTSCHSMB = .;

ctschrkb = .;
IF (SCHLMISS LE 1 and CTSCHSMB NE .) THEN DO;
  if (ctschsmb gt 4) then ctschrkb = 0;
  if (ctschsmb le 4) then ctschrkb = 1;
END;
IF SCHLMISS GT 1 THEN CTSCHRKB = .;
label ctschsmb='B: Summary of positive school attitudes';
label ctschrkb='B: Risk for poor school attitudes';