Variables Created:
CV_ENROLLSTAT (ENCAT)
CV_HGC_EVER (GRSURV)
CV_HIGHEST_DEGREE_EVER (DEGSURV)
CV_HGC_YR (GRJUNE)
CV_HIGHEST_DEGREE_YR (DEGJUNE)
Variables Used
|
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
||
| Round 1 | Round 6 cont'd | Round 8 cont'd | |||||
| e3500_r1 | YSCH-3500 | t70003_r6 | YTRN-7000.03 | e10099112m | YSCH-10099.01.01.02~M | ||
| e5000_r1 | YSCH-5000 | t70004_r6 | YTRN-7000.04 | e10099112y | YSCH-10099.01.01.02~Y | ||
| e11700_r1 | YSCH-11700 | t70005_r6 | YTRN-7000.05 | e10099113m | YSCH-10099.01.01.03~M | ||
| e26700_r1 | YSCH-26700 | doicm_r6 | CV_INTERVIEW_CMONTH | e10099113y | YSCH-10099.01.01.03~Y | ||
| e28200_r1 | YSCH-28200 | encat_r6 | CV_ENROLLSTAT | e10099114m | YSCH-10099.01.01.04~M | ||
| t70001_r1 | YTRN-7000.01 | GRSURV_r6 | CV_HGC_EVER | e10099114y | YSCH-10099.01.01.04~Y | ||
| t70002_r1 | YTRN-7000.02 | GRJUNE_r6 | CV_HGC_YR | e10099211m | YSCH-10099.02.01.01~M | ||
| t70003_r1 | YTRN-7000.03 | DEGSURV_r6 | CV_HIGHEST_DEGREE_EVER | e10099211y | YSCH-10099.02.01.01~Y | ||
| encat_r1 | CV_ENROLLSTAT | DEGJUNE_r6 | CV_HIGHEST_DEGREE_YR | e10099212m | YSCH-10099.02.01.02~M | ||
| GRSURV_r1 | CV_HGC_EVER | e10099212y | YSCH-10099.02.01.02~Y | ||||
| DEGSURV_r1 | CV_HIGHEST_DEGREE_EVER | Round 7 | e10099213m | YSCH-10099.02.01.03~M | |||
| doicm_r1 | CV_INTERVIEW_CMONTH | e2857_r7 | YSCH-2857 | e10099213y | YSCH-10099.02.01.03~Y | ||
| e3112_r7 | YSCH-3112 | e11700 | YSCH-11700 | ||||
| Round 2 | e3878_r7 | YSCH-3878 | e13300 | YSCH-13300 | |||
| e2857_r2 | YSCH-2857 | e11700_r7 | YSCH-11700 | e273371 | YSCH-27337.01 | ||
| e3112_r2 | YSCH-3112 | t70001_r7 | YTRN-7000.01 | e273372 | YSCH-27337.02 | ||
| e3878_r2 | YSCH-3878 | t70002_r7 | YTRN-7000.02 | e273373 | YSCH-27337.03 | ||
| e11700_r2 | YSCH-11700 | t70003_r7 | YTRN-7000.03 | e273374 | YSCH-27337.04 | ||
| t70001_r2 | YTRN-7000.01 | t70004_r7 | YTRN-7000.04 | e273375 | YSCH-27337.05 | ||
| t70002_r2 | YTRN-7000.02 | t70005_r7 | YTRN-7000.05 | e234501 | YSCH-23450.01 | ||
| doicm_r2 | CV_INTERVIEW_CMONTH | t70006_r7 | YTRN-7000.06 | e234502 | YSCH-23450.02 | ||
| encat_r2 | CV_ENROLLSTAT | t70007_r7 | YTRN-7000.07 | e234503 | YSCH-23450.03 | ||
| GRSURV_r2 | CV_HGC_EVER | doicm_r6 | CV_INTERVIEW_CMONTH | t70001 | YTRN-7000.01 | ||
| GRJUNE_r2 | CV_HGC_YR | encat_r6 | CV_ENROLLSTAT | t70002 | YTRN-7000.02 | ||
| DEGSURV_r2 | CV_HIGHEST_DEGREE_EVER | GRSURV_r6 | CV_HGC_EVER | t70003 | YTRN-7000.03 | ||
| DEGJUNE_r2 | CV_HIGHEST_DEGREE_YR | GRJUNE_r6 | CV_HGC_YR | t70004 | YTRN-7000.04 | ||
| DEGSURV_r6 | CV_HIGHEST_DEGREE_EVER | t70005 | YTRN-7000.05 | ||||
| Round 3 | DEGJUNE_r6 | CV_HIGHEST_DEGREE_YR | t70006 | YTRN-7000.06 | |||
| e2857_r3 | YSCH-2857 | t70007 | YTRN-7000.07 | ||||
| e3112_r3 | YSCH-3112 | Round 8 | PUBID | PUBID | |||
| e3878_r3 | YSCH-3878 | e3103 | YSCH-3103 | intd | SYMBOL!CURDATE~D | ||
| e11700_r3 | YSCH-11700 | e3104 | YSCH-3104 | intm | SYMBOL!CURDATE~M | ||
| t70001_r3 | YTRN-7000.01 | e2806 | YSCH-2806 | inty | SYMBOL!CURDATE~Y | ||
| t70002_r3 | YTRN-7000.02 | e2857 | YSCH-2857 | ||||
| t70003_r3 | YTRN-7000.03 | e2908 | YSCH-2908 | Round 8 roster data | |||
| t70004_r3 | YTRN-7000.04 | e3010 | YSCH-3010 | scode1 | NEWSCHOOL_SCHCODE.01 | ||
| doicm_r3 | CV_INTERVIEW_CMONTH | e3061 | YSCH-3061 | scode2 | NEWSCHOOL_SCHCODE.02 | ||
| encat_r3 | CV_ENROLLSTAT | e3112 | YSCH-3112 | scode3 | NEWSCHOOL_SCHCODE.03 | ||
| GRSURV_r3 | CV_HGC_EVER | e3877 | YSCH-3877 | scode4 | NEWSCHOOL_SCHCODE.04 | ||
| GRJUNE_r3 | CV_HGC_YR | e3877B | YSCH-3877B | scode5 | NEWSCHOOL_SCHCODE.05 | ||
| DEGSURV_r3 | CV_HIGHEST_DEGREE_EVER | e3878 | YSCH-3878 | strt11m | NEWSCHOOL_START1.01~M | ||
| DEGJUNE_r3 | CV_HIGHEST_DEGREE_YR | e841611 | YSCH-8416.01.01 | strt11y | NEWSCHOOL_START1.01~Y | ||
| e841612 | YSCH-8416.01.02 | strt12m | NEWSCHOOL_START1.02~M | ||||
| Round 4 | e841621 | YSCH-8416.02.01 | strt12y | NEWSCHOOL_START1.02~Y | |||
| e2857_r4 | YSCH-2857 | e841622 | YSCH-8416.02.02 | strt13m | NEWSCHOOL_START1.03~M | ||
| e3112_r4 | YSCH-3112 | e841631 | YSCH-8416.03.01 | strt13y | NEWSCHOOL_START1.03~Y | ||
| e3878_r4 | YSCH-3878 | e913111 | YSCH-9131.01.01 | strt14m | NEWSCHOOL_START1.04~M | ||
| e11700_r4 | YSCH-11700 | e913112 | YSCH-9131.01.02 | strt14y | NEWSCHOOL_START1.04~Y | ||
| t70001_r4 | YTRN-7000.01 | e913121 | YSCH-9131.02.01 | strt15m | NEWSCHOOL_START1.05~M | ||
| t70002_r4 | YTRN-7000.02 | e913122 | YSCH-9131.02.02 | strt15y | NEWSCHOOL_START1.05~Y | ||
| t70003_r4 | YTRN-7000.03 | e913131 | YSCH-9131.03.01 | strt21m | NEWSCHOOL_START2.01~M | ||
| t70004_r4 | YTRN-7000.04 | e933511m | YSCH-9335.01.01~M | strt21y | NEWSCHOOL_START2.01~Y | ||
| doicm_r4 | CV_INTERVIEW_CMONTH | e933511y | YSCH-9335.01.01~Y | strt22m | NEWSCHOOL_START2.02~M | ||
| encat_r4 | CV_ENROLLSTAT | e933512m | YSCH-9335.01.02~M | strt22y | NEWSCHOOL_START2.02~Y | ||
| GRSURV_r4 | CV_HGC_EVER | e933512y | YSCH-9335.01.02~Y | strt31m | NEWSCHOOL_START3.01~M | ||
| GRJUNE_r4 | CV_HGC_YR | e933521m | YSCH-9335.02.01~M | strt31y | NEWSCHOOL_START3.01~Y | ||
| DEGSURV_r4 | CV_HIGHEST_DEGREE_EVER | e933521y | YSCH-9335.02.01~Y | stop11m | NEWSCHOOL_STOP1.01~M | ||
| DEGJUNE_r4 | CV_HIGHEST_DEGREE_YR | e933522m | YSCH-9335.02.02~M | stop11y | NEWSCHOOL_STOP1.01~Y | ||
| e933522y | YSCH-9335.02.02~Y | stop12m | NEWSCHOOL_STOP1.02~M | ||||
| Round 5 | e933531m | YSCH-9335.03.01~M | stop12y | NEWSCHOOL_STOP1.02~Y | |||
| e2857_r5 | YSCH-2857 | e933531y | YSCH-9335.03.01~Y | stop13m | NEWSCHOOL_STOP1.03~M | ||
| e3112_r5 | YSCH-3112 | e938511 | YSCH-9385.01.01 | stop13y | NEWSCHOOL_STOP1.03~Y | ||
| e3878_r5 | YSCH-3878 | e938512 | YSCH-9385.01.02 | stop14m | NEWSCHOOL_STOP1.04~M | ||
| e11700_r5 | YSCH-11700 | e938521 | YSCH-9385.02.01 | stop14y | NEWSCHOOL_STOP1.04~Y | ||
| t70001_r5 | YTRN-7000.01 | e938522 | YSCH-9385.02.02 | stop15m | NEWSCHOOL_STOP1.05~M | ||
| t70002_r5 | YTRN-7000.02 | e938531 | YSCH-9385.03.01 | stop15y | NEWSCHOOL_STOP1.05~Y | ||
| t70003_r5 | YTRN-7000.03 | e9589111 | YSCH-9589.01.01.01 | stop21m | NEWSCHOOL_STOP2.01~M | ||
| t70004_r5 | YTRN-7000.04 | e9589112 | YSCH-9589.01.01.02 | stop21y | NEWSCHOOL_STOP2.01~Y | ||
| doicm_r5 | CV_INTERVIEW_CMONTH | e9589113 | YSCH-9589.01.01.03 | stop22m | NEWSCHOOL_STOP2.02~M | ||
| encat_r5 | CV_ENROLLSTAT | e9589114 | YSCH-9589.01.01.04 | stop22y | NEWSCHOOL_STOP2.02~Y | ||
| GRSURV_r5 | CV_HGC_EVER | e9589211 | YSCH-9589.02.01.01 | stop31m | NEWSCHOOL_STOP3.01~M | ||
| GRJUNE_r5 | CV_HGC_YR | e9589212 | YSCH-9589.02.01.02 | stop31y | NEWSCHOOL_STOP3.01~Y | ||
| DEGSURV_r5 | CV_HIGHEST_DEGREE_EVER | e9589213 | YSCH-9589.02.01.03 | ||||
| DEGJUNE_r5 | CV_HIGHEST_DEGREE_YR | e9946111 | YSCH-9946.01.01.01 | Created Variables | |||
| e9946112 | YSCH-9946.01.01.02 | CDTHS | CV_HS_DIPLOMA | ||||
| Round 6 | e9946113 | YSCH-9946.01.01.03 | CDTGD | CV_GED | |||
| e2857_r6 | YSCH-2857 | e9946114 | YSCH-9946.01.01.04 | CDTAA | CV_AA_DEGREE | ||
| e3112_r6 | YSCH-3112 | e9946211 | YSCH-9946.02.01.01 | CDTBA | CV_BA_DEGREE | ||
| e3878_r6 | YSCH-3878 | e9946212 | YSCH-9946.02.01.02 | CDTMA | CV_MA_DEGREE | ||
| e11700_r6 | YSCH-11700 | e9946213 | YSCH-9946.02.01.03 | CDTDC | CV_DOC_DEGREE | ||
| t70001_r6 | YTRN-7000.01 | e10099111m | YSCH-10099.01.01.01~M | CDTPF | CV_PROF_DEGREE | ||
| t70002_r6 | YTRN-7000.02 | e10099111y | YSCH-10099.01.01.01~Y | ||||
Codes for Created Variables
|
Youth's Enrollment Status as of the Survey Date (ENCAT) |
|
|
1.
not enrolled, no high school degree, no GED |
7.
not enrolled, graduate degree |
|
Highest Grade Completed as of the Survey Date (GRSURV) |
|||
|
0.
none |
6.
sixth |
12.
twelfth |
17.
fifth year college |
|
Highest Degree Received as of the Survey Date (DESURV) |
|
|
0.
none |
4.
bachelor's degree (B.A., B.S., or unspecified) |
| Highest Grade Completed as of June 30, 2004 (GRJUNE) | |||
|
0.
none 1. first 2. second 3. third 4. fourth 5. fifth |
6.
sixth 7. seventh 8. eighth 9. ninth 10. tenth 11. eleventh |
12.
twelfth 13. first year college 14. second year college 15. third year college 16. fourth year college |
17.
fifth year college 18. sixth year college 19. seventh year college 20. eighth year college 95. ungraded |
| Highest Degree Completed as of June 30, 2004 (DEGJUNE) | |
|
0.
none 1. GED 2. high school diploma 3. junior college or 2-year associate degree |
4.
bachelor's degree (B.A., B.S., or unspecified) 5. doctoral degree 6. professional degree (M.D., L.L.D., D.D.S., J.D.) |
This program first creates an enrollment status variable for each respondent. It then identifies the highest grade completed by the respondent as of the round 7 interview date and as of June 30, 2004. Finally, it determines the highest degree or diploma received by the respondent as of the same two dates.
**** SECTION I *****;
** Initialize and define variables;
ENROLL=-3; * Indicates if R currently enrolled;
ENCAT=-3; * Enrollment status variable (including educational attainment);
HSD=0; * Indicates if R has a H. S. Diploma (check previous rounds);
GED=0; * Indicates if R has a GED (check previous rounds);
hgsch=0; * Indicates if R is currently attending grades 1-12 & no HSD or GED;
college=0; * Indicates if R is in college and working towards a undergrad
(=1) or grad degree (=2);
flagcoll=0; * Indicates if Rs currently attending grades 1-12, no HSD or GED
but enrolled in college
and working towards a grad or undergrad degree;
flaghs=0; * Indicates if Rs who have a H.S. Diploma and HGC=12 but still
report enrollment in school;
flagloop=0; * Indicates if Rs going through old school re-enrollment loop
twice;
somecoll=0; * Indicates if Rs having attended a college (in a degree
program) in current or previous
rounds;
prevcoll=0; * Indicates if Rs having attended a college (in a degree
program) in previous rounds. This
pertains to those actually enrolled in a degree program in college only;
currcoll=0; * Indicates if Rs having attended a college (in a degree
program) in current round. This
pertains to those enrolled in a college and reporting to be working towards
a degree
program. They may or may not be enrolled in a degree program.;
clg_ok=-4; * Indicates if R being in college (as reported in this round) w/o
GED/HSD is OK. That is if
R is actually enrolled in a degree program. This pertains to currcoll and
not prevcoll.;
last_enr=0; * Identifies the last round when R was enrolled;
ungraded=0; * Indicates Rs with no H.S. Diploma or GED have HGA=95 (ungraded);
same_mth=0; * Indicates Rs who received a degree in the same month as the
interview.;
both=0; * Indicates that R reports receiving both GED and H. S. Diploma;
enr_deg=0; * Indicates if R is "currently" enrolled in a degree program but
a non-degree program is
reported after this degree-program in the new school loops;
rosprb1=0; * Indicates Rs with scode(i) in (4,5) but e27337(i)=-4;
rosprb2=0; * Indicates Rs with scode(i)=-4 but e27337(i)>-4;
fill=-4; * These are filler variables that are used in arrays to match the
number of elements.;
chk_comm=0; * Indicates if reports college in this round although R does not
report receiving GED or
H.S. Diploma, by this round. Check the comments in current round to see
whether they
were actually enrolled in a degree program in a college.;
chk_commP=0; * Indicates if ENCAT in any prior rounds shows college although
R does not report
receiving GED or HS Diploma, by those rounds. Check the comments in current
and earlier
rounds for these cases to see whether they were actually enrolled in a
degree program in
a college.;
hgc_hga=0; * Indicates if Rs reporting HGC greater than HGA;
hgc_hga_n=-4; * Indicates if Rs reporting HGC greater than HGA, after HGC
and HGA were edited for those
never enrolled at or since DLI such that they remained the same as those at
DLI.;
prev_deg=0; * Indicates if the highest degree attained is lower than what it
was in last round;
**************************************************************
** dlicm: date of last interview
**
** dli_rnd: the last round that R was interviewed
**
** doicm: date of current interview
**
** enroll_Rx: whether enrolled in earlier rounds
**
** encatP: ENCAT when last interviewed
**
** hgaloop: highest grade attended (from loops)
**
** hgcloop: highest grade completed (from loops)
**
** hgcdt: date of completion of hgcloop
**
**************************************************************;
JUNEYR=294;
YEAR=2004;
MONTH=6;
doicm_LR=doicmr7;
*** Define arrays to be used later in the program;
array e6784 (4) e6784r8_1-e6784r8_4;
array e6938 (4) e6938r8_1-e6938r8_3 dum;
array e7192 (4) e7192r8_1-e7192r8_4;
array e7142 (4,2) e7142r8_11 e7142r8_12
e7142r8_21 dum
e7142r8_31 dum
dum dum;
array e6943 (4,2) e6943r8_11 e6943r8_12
e6943r8_21 dum
dum dum
dum dum;
array scode (5) scoder8_1-scoder8_5;
array e27337 (5) e27337r8_1-e27337r8_5;
array strtm (*) strtmr8_11 strtmr8_21 strtmr8_31
strtmr8_12 strtmr8_22 strtmr8_32
strtmr8_13 strtmr8_23
strtmr8_14
strtmr8_15;
array strty (*) strtyr8_11 strtyr8_21 strtyr8_31
strtyr8_12 strtyr8_22 strtyr8_32
strtyr8_13 strtyr8_23
strtyr8_14
strtyr8_15;
array stopm (*) stopmr8_11 stopmr8_21 stopmr8_31
stopmr8_12 stopmr8_22 stopmr8_32
stopmr8_13 stopmr8_23
stopmr8_14
stopmr8_15;
array stopy (*) stopyr8_11 stopyr8_21 stopyr8_31
stopyr8_12 stopyr8_22 stopyr8_32
stopyr8_13 stopyr8_23
stopyr8_14
stopyr8_15;
array degre (*) e27337r8_1 e27337r8_1 e27337r8_1
e27337r8_2 e27337r8_2 e27337r8_2
e27337r8_3 e27337r8_3
e27337r8_4
e27337r8_5;
array codes (*) scoder8_1 scoder8_1 scoder8_1
scoder8_2 scoder8_2 scoder8_2
scoder8_3 scoder8_3
scoder8_4
scoder8_5;
array reasn (*) lftscr8_1 dum dum
lftscr8_2 dum dum
lftscr8_3 dum
lftscr8_4
lftscr8_5;
array strcm (*) strcm11 strcm21 strcm31
strcm12 strcm22 strcm32
strcm13 strcm23
strcm14
strcm51;
array stpcm (*) stpcm11 stpcm21 stpcm31
stpcm12 stpcm22 stpcm32
stpcm13 stpcm23
stpcm14
stpcm15;
array gratnd (*) e8416r8_11 e8416r8_12
e8416r8_21
e8416r8_31
e8416r8_41
e8416r8_51
e9589r8_111-e9589r8_113 e9589r8_121
e9589r8_211-e9589r8_213
e9589r8_311-e9589r8_313
e9589r8_511;
array grcomp (*) e9131r8_11 e9131r8_12
e9131r8_21
e9131r8_31
e9131r8_41
e9131r8_51
e9946r8_111-e9946r8_113 e9946r8_121
e9946r8_211-e9946r8_213
e9946r8_311-e9946r8_313
e9946r8_511;
array yrcomp (*) e9335yr8_11 dum
e9335yr8_21
e9335yr8_31
e9335yr8_41
e9335yr8_51
e10099yr8_111-e10099yr8_113 dum
e10099yr8_211-e10099yr8_213
e10099yr8_311-e10099yr8_313
e10099yr8_511;
array mocomp (*) e9335mr8_11 dum
e9335mr8_21
e9335mr8_31
e9335mr8_41
e9335mr8_51
e10099mr8_111-e10099mr8_113 dum
e10099mr8_211-e10099mr8_213
e10099mr8_311-e10099mr8_313
e10099mr8_511;
array t7000A (*) t7000:;
array doicmR (*) doicmr1-doicmr7;
array intmR (*) intmr1-intmr7;
array intyR (*) intyr1-intyr7;
array encatR (*) encatr1-encatr7;
array enrollR (*) enrollr1-enrollr7;
array grsurvR (*) grsurvr1-grsurvr7;
array grjuneR (*) grjuner1-grjuner7;
array degsurvR (*) degsurvr1-degsurvr7;
array hgaR (*) e3500r1 e2857r2-e2857r7;
array hgcR (*) e5000r1 e3112r2-e3112r7;
array hsrR (*) hsr1-hsr7;
array gdrR (*) gdr1-gdr7;
array scoder [7,7] dum dum dum dum dum dum dum
scoder2_1-scoder2_6 dum
scoder3_1-scoder3_7
scoder4_1-scoder4_5 dum dum
scoder5_1-scoder5_6 dum
scoder6_1-scoder6_4 dum dum dum
scoder7_1-scoder7_5 dum dum;
handedit=0;
*** HANDEDITS (1);
** In R7 R said R was allowed to enroll in college w/o diploma and so we
coded ENCAT=9. But in R8 said R
was working towards a GED.;
if pubid=6646 then do;
encatr7=8;
handedit=1;
end;
** In R2 these Rs said they were pursuing GED at that college or in an adult
education program.;
if pubid in (2154 3466) then do;
encatr2=8;
handedit=1;
end;
** This R does not seems to be getting H.S. credits at college.;
if pubid=440 then do;
encatr2=1;
encatr4=1;
encatr6=1;
encatr7=1;
handedit=1;
end;
** They reported YSCH-3878 as Refuse/Don'tKnow and so we have no schooling
information.;
if pubid in (1219 1594 8484 9011) then do;
e3878r8=0;
handedit=1;
end;
** R mentioned in comments that R was not working towards any degree &
YSCH-27337=-2;
if pubid=199 then do;
e27337r8_1=7;
handedit=1;
end;
** R mentioned in comments that R was undecided on degree & YSCH-27337=-2;
if pubid=3039 then do;
e27337r8_1=7;
handedit=1;
end;
** R mentioned in comments that R undecided on major and enrolled in online
courses & YSCH-27337=-2.;
if pubid=6374 then do;
e27337r8_2=7;
handedit=1;
end;
*** Create intermediate variables to be used in the program later.;
* Create variable indicating Highest Degree Received by DLI;
do i=1 to dim(degsurvR); * MODIFIED;
if degsurvR(i)~=-5 then degsurvP=degsurvR(i);
end;
* Compute dlicm and dli_rnd;
do j=1 to dim(intmR);
if intmR(j)~=-5 then do;
dlicm=((intyR(j)-1980)*12)+intmR(j);
dlim=intmr(j); * NEW;
dliy=intyr(j); * NEW;
dli_rnd=j;
do k=1 to 7;
if scoder(j,k) in (4,5) then wasinclg_DLI=1; * NEW;
end;
hsrP=hsrR(j); * NEW;
gdrP=gdrR(j); * NEW;
end;
end;
if intmr8~=-5 then doicm=((intyr8-1980)*12)+intmr8;
/* DELETED
rosprb1=0; rosprb2=0;
do i=1 to dim(scode);
if (scode(i)=4|scode(i)=5) & e27337(i)=-4 then rosprb1=1;
if scode(i)=-4 & e27337(i)>-4 then rosprb2=1;
end;
*/
* Create variable indicating HGC by DLI;
if dli_rnd=1 then do;
if hsr1>-4 & grsurvr1<12 then grsurvP=12; * MODIFIED;
end;
do i=1 to dim(grsurvR);
if grsurvR(i)>-5 then grsurvP=grsurvR(i); * MODIFIED;
if grjuneR(i)>-5 then grjuneP=grjuneR(i); * NEW;
end;
corr_grsP=0; * NEW;
if e3061r8>=0 then do; corr_grsP=1; grsurvP=e3061r8; end;
if 0<=e3061r8<12 & (hsrP>-4|gdrP>-4) then do; corr_grsP=2; grsurvP=12; end;
** Checking int dates; * NEW;
if doicmr8~=-5 then doicm=doicmr8;
* Expected date of graduation; * NEW;
if e24889mr8>-4 & e24889yr8>-4 then do;
grady=e24889yr8;
gradm=e24889mr8;
if e24889mr8>0 & e24889yr8>0 then gradcm=(((e24889yr8-1980)*12)+e24889mr8);
if -3<=e24889mr8<=-1 & e24889yr8>0 then gradcm=(((e24889yr8-1980)*12)+6);
if -3<=e24889yr8<=-1 then gradcm=-3;
end;
if e24940mr8>-4 & e24940yr8>-4 then do;
grady=e24940yr8;
gradm=e24940mr8;
if e24940mr8>0 & e24940yr8>0 then gradcm=(((e24940yr8-1980)*12)+e24940mr8);
if -3<=e24940mr8<=-1 & e24940yr8>0 then gradcm=(((e24940yr8-1980)*12)+6);
if -3<=e24940yr8<=-1 then gradcm=-3;
end;
** Start and stop dates of enrollment in continuous month scheme;
do i=1 to dim(degre);
if stopm(i)>0 & stopy(i)>0 then stpcm(i)=((stopy(i)-1980)*12)+stopm(i);
if -4<stopm(i)<0|-4<stopy(i)<0 then stpcm(i)=-3;
if strtm(i)>0 & strty(i)>0 then strcm(i)=((strty(i)-1980)*12)+strtm(i);
if -4<strtm(i)<0|-4<strty(i)<0 then strcm(i)=-3;
end;
* Whether received GED, ever;
if CDTGD>-4 then GED=1;
* Whether received HS Diploma, ever;
if CDTHS>-4 then HSD=1;
* Whether received both GED and HS Diploma, ever;
if HSD=1 & GED=1 then both=1;
** Data and quex problems w/ roster information; * NEW;
rosprb1=0; rosprb2=0;
do i=1 to dim(scode);
if (scode(i)=4|scode(i)=5) & e27337(i)=-4 then rosprb1=1;
if scode(i)=-4 & e27337(i)>-4 then rosprb2=1;
if scode(i) in (-1,-2,-3,6) then INV1=1;
if scode(i) in (4,5) & e27337(i) in (-1,-2,-3) then INV2=1;
end;
do i=1 to dim(strcm);
if strcm(i)=-3 then INV3=1;
if stpcm(i)=-3 then INV3=2;
if strcm(i)=-3 & stpcm(i)=-3 then INV3=3;
end;
* Enrollment status at each interview and ENCAT at last interview;
do i=1 to dim(intmR);
if encatR(i) in (8,9,10,11) then enrollR(i)=1;
if encatR(i) in (1,2,3,4,5,6,7) then enrollR(i)=0;
if -5<encatR(i)<0 then enrollR(i)=encatR(i);
if encatR(i)~=-5 then encatP=encatR(i);
if enrollR(i)~=-5 then enrollP=enrollR(i);
if enrollR(i)=1 then last_enr=i;
if hgaR(i)~=-5 then hgaP=hgaR(i);
end;
* Last regular school enrolled in, its start and stop date of enrollmnet,
type of school and degree
working towards & school loop number; * MODIFIED;
STOP=-4;
do i=1 to dim(degre);
if stpcm(i)>STOP then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=1;
end;
if stpcm(i)=STOP & sch in (4,5) & codes(i)=sch & deg in (1,3,4,5,6,10) &
degre(i)=deg then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=2;
end;
if 0<stpcm(i)<STOP & 0<cdths<STOP & STOP=doicm & 0<STRT<strcm(i) & 0<cdths<=strcm(i)
& codes(i) in (4,5) & sch in (1,2,3)
& degre(i) in (1,3,4,5,6,10) & deg not in (1,3,4,5,6,10) then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=3.1;
end;
if 0<stpcm(i)<STOP & 0<cdtgd<STOP & STOP=doicm & 0<STRT<strcm(i) & 0<cdtgd<=strcm(i)
& codes(i) in (4,5) & sch in (1,2,3)
& degre(i) in (1,3,4,5,6,10) & deg not in (1,3,4,5,6,10) then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=3.2;
end;
if stpcm(i)=STOP & codes(i)=5 & sch=4 & degre(i) in (1,3,4,5,6,10) & deg in
(1,3,4,5,6,10) then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=4;
end;
if stpcm(i)=STOP & codes(i)=5 & sch=5 & degre(i) in (4,5,6,10) & deg in
(1,3) then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=5;
end;
if stpcm(i)=STOP & codes(i) in (4,5) & sch in (1,2,3) & (HSD=1|GED=1) then
do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=6;
end;
if 0<stpcm(i)<=STOP & codes(i)in (1,2,3) & sch in (1,2,3) & STOP=doicm &
strcm(i)>=STRT>0 then do;
STOP=stpcm(i);
STRT=strcm(i);
sch=codes(i);
deg=degre(i);
rosnum=i;
STOP_loc=7;
end;
end;
if STOP>0 then diff=doicm-STOP;
do i=1 to dim(degre);
if rosnum=i then do;
if STOP=doicm & stpcm(i)=doicm & reasn(i)>-4 then diff=10000;
end;
end;
do i=1 to dim(degre);
if strcm(i)>=-3 & stpcm(i)>=-3 then lastloopnum=i;
end;
* Whether the last school attended was High School or College, and if the
latter then for what degree?;
if sch in (-1,-2,-3) then lastsch=-3;
if sch=6 then lastsch=6; * NEW;
if sch in (1,2,3) then lastsch=1;
if sch in (4,5) and deg in (1,3,4,5,6,10) then lastsch=2;
if sch in (4,5) and deg in (2,7,8,999) then lastsch=2.1;
if sch in (4,5) and deg=9 then lastsch=2.2;
if sch in (4,5) and deg in (-1,-2,-3) then lastsch=2.3;
if sch in (4,5) and deg=-4 then lastsch=2.4;
** Handedit; * NEW;
** We matched the unique IDs of the college they were attending in this
round but for which we did not
ask the degree working towards question to the unique school IDs in prior
rounds and round 9. If we
found that they reported working towards a college degree or not - we used
that information to code
LASTSCH below. Out of the cases that we could not do this type of matching 5
had a single-tem HGC<=12
and single-item HGC<12. These we coded as LASTSCH=2.3, i.e., they were
working towards a GED. Of the
remaining three cases:
(1) 2390: Received a GED from the college reported in the month after
he/she stopped being
enrolled in that college - we coded this as lastsch=2.2
(2) 4746: Reported receiving a H.S. Diploma in YSCH-3113, although did
not report one in
YSCH-11700. Reported HGC=14 in R8 and HGC=13 in R7. Was in a college degree
program in R6.
This we coded as lastsch=2.
Note: see program R8degmiss.sas;
if lastsch=2.4 then do;
if pubid in (89 794 3121 4053 4289 4746 1695 2258 3388) then do;
lastsch=2;
deg=3;
end;
if pubid=579 then do;
lastsch=2;
deg=1;
end;
if pubid=4875 then do;
lastsch=4;
deg=1;
end;
if pubid=4724 then do;
lastsch=2;
deg=6;
end;
if pubid in (1124 1706 1843 3506 4396 5292 7737) then
do;
lastsch=2.1;
end;
if pubid in (2390) then do;
lastsch=2.2;
end;
end;
** Some Rs reported no information about the last school they were enrolled
in at current interview.
These Rs had received their BA/BS and were working towards their MA/MBA/MS/MSW/.
We concluded that
they were in a legitimate college/university.;
if lastsch=6 & deg in (4,5,6,10) & cdtba>-4 then do;
sch=5;
lastsch=2;
end;
/* DELETED
* Whether received GED, ever;
if CDTGD>-4 then GED=1;
* Whether received HS Diploma, ever;
if CDTHS>-4 then HSD=1;
* Whether received both GED and HS Diploma, ever;
if HSD=1 & GED=1 then both=1;
*/
* - When R attended college (in a degree program) in a previous round; *
MODIFIED;
do i=1 to dim(encatR);
if encatR(i) in (4,5,6,7,9,10,11) & degsurvR(i)>=1 then prevcoll=1;
if encatR(i) in (4,5,6,7,9,10,11) & degsurvR(i)<1 then do;
prevcoll=1;
chk_commP=1;
if hsrR(i)>-4|gdrR(i)>-4 then chk_commP=2;
end;
end;
* - When R attended college (in a degree program) in a previous round and
did not correct HGA as of
last interview (e2806) to <13 i.e. accepts being in college as of last
interview;
do i=1 to dim(encatR);
if (e2806r8=-4|e2806r8>=13) & encatR(i) in (4,5,6,7,9,10,11) & (hsrR(i)=1|gdrR(i)=1)
then prevcoll=1;
if (e2806r8=-4|e2806r8>=13) & encatR(i) in (4,5,6,7,9,10,11) & hsrR(i)=-4 &
gdrR(i)=-4 then do;
prevcoll=1;
chk_commP=1;
if 0<CDTHS<=doicmR(i) then chk_commP=2;
if 0<CDTGD<=doicmR(i) then chk_commP=2;
end;
end;
** Comments show R was in a valid college degree program;
if pubid=607 then chk_commP=0;
* - When R attended college (in a degree program) in this round;
do i=1 to dim(scode);
if scode(i) in (4,5) & e27337(i) in (1,3,4,5,6,10) then currcoll=1;
end;
if hsd=0 & ged=0 & currcoll=1 then chk_comm=1;
if hsd=0 & ged=0 & currcoll=1 & clg_ok=-4 then clg_ok=0;
if (hsd=1|ged=1) & currcoll=1 then clg_ok=1;
if prevcoll=1|currcoll=1 then somecoll=1;
*** Handedits.;
* IMP: check the comments and YSCH-13900 reports for this round for chk_comm=1
cases, to see whether
they are actaully enrolled in a degree program in a college. Also check the
comments and
YSCH-13900 reports for all rounds for chk_commP=1 cases, to see whether
their ENCAT in college
(w/o GED or HSD) in earlier rounds was justified.;
if pubid in (902 1915 4444 6650 7417 7575) & currcoll=1
then do;
clg_ok=1;
FLG_13900r8=1;
end;
if pubid in (81 83 589 1260 1708 2122 3333 3508 3688 4182 4315
4650 5499 5918 5929 5937 5940 5984 6505 6587 6646 6811
6906 7165 7391 7638 7710 7816 7828 8182 8722 9018 6491
8698)
then do;
clg_ok=0;
FLG_13900r8=1;
end;
* Grade information from loops;
hgaloop=e8416r8_11;
do i=2 to dim(gratnd);
if gratnd(i)>hgaloop then do;
hgaloop=gratnd(i);
end;
end;
hgcloop=-16;
do i=1 to dim(gratnd);
if gratnd(i)>=0 & gratnd(i)>hgcloop then do;
if grcomp(i)=1 then do;
hgcloop=gratnd(i);
if mocomp(i)>0 & yrcomp(i)>0 then hgcdt=((yrcomp(i)-1980)*12)+mocomp(i);
if mocomp(i)>0 & yrcomp(i)>0 then hgcdt=-3;
end;
else if grcomp(i) in (-1,-2,-3) then do;
hgcloop=grcomp(i);
end;
end;
if gratnd(i) in (0,-1, -2, -3,-4) & grcomp(i)>-4 then do;
hgcloop=-55;
end;
end;
if (1<=e2857r8<=12) & HSD=0 & GED=0 then hgsch=1;
do i=1 to dim(e27337);
if e27337(i) in (1,3) then college=1;
if e27337(i) in (4,5,6,10) then college=2;
if e27337(i) in (-1,-2,-3) then college=-3;
end;
if 0<=e2857r8<e3112r8<95 then hgc_hga=1;
if (0<=e2857r8<12) & e3112r8=12 then hgc_hga=2;
if 0<=e2857r8<=12<e3112r8<95 & hsd=0 & ged=0 then hgc_hga=3.1;
if 0<=e2857r8<=12<e3112r8<95 & (hsd=1|ged=1) then hgc_hga=3.2;
if 12<e2857r8<e3112r8<95 then hgc_hga=4;
/** VERY IMP: When R was not enrolled at DLI and has not been enrolled since
DLI, I put HGA (YSCH-2857)
and HGC (YSCH-3112) as that reported at DLI unless corrected. **/
if e3878r8=0 & hgc_hga>=1 then do;
hgc_hga_n=0;
if e3103r8~=0 then e2857r8=hgaR(dli_rnd);
if e3103r8=0 then e2857r8=e3104r8;
if e3010r8~=0 then e3112r8=hgcR(dli_rnd);
if e3010r8=0 then e3112r8=e3061r8;
if 0<=e2857r8<e3112r8<95 then hgc_hga_n=1;
end;
***********************************************************
*** (I) CREATED VARIABLE - ENROLLMENT STATUS (ENCAT) ***
***********************************************************;
*** [IA] Determining whether the respondent is enrolled or not.
Note: Summer vacations are included as part of the enrollment period;
if diff=0 then enroll=1;
if diff>0 then enroll=0;
if -3<=STOP<=-1 then enroll=0;
if e3878r8=0 then enroll=0;
** If respondent has received a H.S. Diploma, HGA & HGC is 12 and there is a
valid end date for
the completed 12th grade then we check whether R should be coded as enrolled
or not. If R reports
a 2-yr or 4-yr college then R is coded as enrolled irrespective of the type
of degree working
towards;
if HSD=1 & hgcloop=12 & hgcdt>0 & ENROLL=1 then do;
chk_enr2=1;
ENROLL=0;
do i=1 to dim(scode);
if scode(i) in (4,5) then ENROLL=1;
end;
end;
** Computing ENROLL by another method - ENROLLx; * NEW;
if e1624r8_1=1 then flagloop=1; * flag those who re-enroll;
** not enrolled at and sdli;
if e3878r8=0 then enrollx=0;
** old school;
* enrolled at dli, continuously enrolled in old school sdli, no new schools;
if e4795r8=1 & e4951r8=0 then enrollx=1;
* not enrolled at dli but re-enrolled in old school sdli, continuously
re-enrolled in old school
sdli, no new schools;
if e4793r8=1 & e4951r8=0 then enrollx=1;
* not continuously enrolled in old school SDLI;
if (e4795r8=0 or e4793r8=0) then do;
*left school upon completing coursework or receiving degree;
if e1605r8=-4 & e4951r8=0 then enrollx=0;
* re-enrolled in old school;
if e1605r8=1 then do;
* continuously re-enrolled in old school, no new schools;
if e1615r8_1=1 & e4951r8=0 then enrollx=1;
* not continuously re-enrolled in old school, first time through loop, no
other re-enrollments
at old school, and no new schools;
if e1615r8_1=0 & e1624r8_1=0 & e1627r8_1=0 & e4951r8=0 then enrollx=0;
* continuously re-re-enrolled in old school, no new schools;
if e1615r8_2=1 & e4951r8=0 then enrollx=1;
* not continuously re-re-enrolled in old school, second time through loop;
if e1615r8_2=0 then chk_enrprd=1;
end;
* not re-enrolled in old school, no new schools;
if e1605r8=0 and e4951r8=0 then enrollx=0;
end;
** new school;
* enrolled or not enrolled at dli but enrolled in new school sdli;
if (e4951r8=1 or e3878r8=1) then do;
* continuously enrolled in new school, no other new schools reported;
do i=1 to dim(e6784);
if e6784(i)=1 & e7192(i)=0 then enrollx=1;
end;
* not continuously enrolled in new school, re-enrolled, continuously
re-enrolled, no other
new schools reported;
do i=1 to dim(e6784);
if e6784(i)=0 & e7192(i)=0 then do;
do j=1 to 2;
if e6943(i,j)=1 then enrollx=1;
end;
end;
end;
* not continuously enrolled in new school -
(1) re-enrolled, not continuously re-enrolled
(2) left school because completed coursework or received degree,
No other enrollment periods, no other new school;
do i=1 to dim(e6784);
do j=1 to 2;
if e7142(i,j)=0 & e7192(i)=0 then enrollx=0;
end;
end;
* not continuously enrolled in new school, did not re-enroll, no new
schools;
do i=1 to dim(e6784);
if e6938(i)=0 & e7192(i)=0 then enrollx=0;
end;
end;
*** (IB) Determining the sub-categories of not enrolled;
if ENROLL=0 then do;
** No H.S. Diploma, no GED - ENCAT=1;
if (GED<=0) & (HSD<=0) then ENCAT=1;
** GED - ENCAT=2;
if GED=1 then ENCAT=2;
** High school degree - ENCAT=3;
if HSD=1 then ENCAT=3;
** R (now not enrolled) attended some college & was enrolled in a degree
program (i.e. e27337
is 1,3,4,5 or 6), - ENCAT=4.
Note: those who indicated attending a college and working toward a
"vocational or technical
certificate" (e27337=2) are coded as not having attended college because
these credits
typically won't transfer for a Bachelors or an Associates Degree. R attended
some college,
perhaps in a prior round, or in current round;
tmpENCAT=ENCAT;
if prevcoll=1 then ENCAT=4;
if currcoll=1 &
((13<=e2857r8<=20)|e3112r8>=12|HSD=1|GED=1|hgcloop=12|clg_ok=1) then ENCAT=4;
if prevcoll=0 & currcoll=1 & clg_ok=0 then ENCAT=tmpENCAT; * NEW;
** Received junior college or 2 year associate degree - ENCAT=5;
if CDTAA>-4 then ENCAT=5;
** Received bachelor's degree - ENCAT=6;
if CDTBA>-4 then ENCAT=6;
** Received master's, doctoral or professional degree - ENCAT=7;
if CDTMA>-4|CDTDC>-4|CDTPF>-4 then ENCAT=7;
end;
*** (IC) Determining the sub-categories of enrolled;
if ENROLL=1 then do;
if lastsch=1 then do;
if CDTHS>0 & (e3112r8=12|hgcloop=12) then flaghs=1;
if (1<=e2857r8<=12) & HSD<=0 & GED<=0 then ENCAT=8;
if e2857r8=13 & HSD=0 & GED=0 then ENCAT=8;
if e2857r8=95 & HSD=0 & GED=0 then do;
ENCAT=8;
ungraded=1;
end;
end;
if lastsch=2 then do;
if sch=4 & deg in (1,3,4,5,6,10) &
((13<=e2857r8<95)|e3112r8>=12|GED=1|HSD=1|hgcloop=12|clg_ok=1)
then ENCAT=9;
if sch=5 & deg in (1,3,4,5,6,10) &
((13<=e2857r8<95)|e3112r8>=12|GED=1|HSD=1|hgcloop=12|clg_ok=1)
then ENCAT=10;
if sch=5 & deg in (4,5,6,10) & ((16<e2857r8<95)|e3112r8>=16) then ENCAT=11;
if prevcoll=0 & currcoll=1 & clg_ok=0 then do; * NEW;
if GED=1 then ENCAT=2;
if HSD=1 then ENCAT=3;
if GED=0 & HSD=0 then ENCAT=8;
end;
if prevcoll=1 & currcoll=1 & clg_ok=0 then ENCAT=4; * NEW;
if (1<=e2857r8<=12) & HSD=0 & GED=0 & clg_ok~=1 then do;
ENCAT=8;
flagcoll=1;
end;
end;
if lastsch>2 then do;
if GED=0 & HSD=0 & somecoll=0 then ENCAT=8;
if currcoll=0 & prevcoll=1 then do;
*if HSD=1|GED=1 then ENCAT=4; * DELETED;
ENCAT=4; * NEW;
if CDTAA>-4 then ENCAT=5;
if CDTBA>-4 then ENCAT=6;
if CDTMA>-4|CDTDC>-4|CDTPF>-4 then ENCAT=7;
end;
if currcoll=1 & (HSD=1|GED=1|clg_ok=1) then ENCAT=4;
end;
if GED=1 & HSD=0 & somecoll=0 then ENCAT=2;
if HSD=1 & somecoll=0 then ENCAT=3;
if (HSD=1|GED=1|clg_ok=1) & currcoll=1 & lastsch=-3 then ENCAT=4;
if (HSD=1|GED=1) & prevcoll=1 & lastsch=-3 then ENCAT=4;
end;
oldencat=ENCAT;
** Respondents receiving the bachelor's degree degree in and around the
month of the interview are
coded as being enrolled by the program. So the ENCAT is not correct. We
recode the ENCAT;
if CDTHS>0 & doicm=CDTHS & ENCAT in (-3,1,2,8) then do;
ENCAT=3;
same_mth=1;
end;
if CDTGD>0 & doicm=CDTGD & ENCAT in (-3,1,8) then do;
ENCAT=2;
same_mth=1;
end;
if CDTAA>0 & doicm=CDTAA & ENCAT in (-3,1,2,8,3,4,9) then do;
ENCAT=5;
same_mth=1;
end;
if CDTBA>0 & doicm=CDTBA & ENCAT in (-3,1,2,8,3,4,5,10) then do;
ENCAT=6;
same_mth=1;
end;
if ((CDTMA>0 & doicm=CDTMA)|(CDTDC>0 & doicm=CDTDC)) & ENCAT~=7 then do;
ENCAT=7;
same_mth=1;
end;
** If R was enrolled since DLI although may not be currently enrolled;
if ENROLL=1|(ENROLL=0 & e3878r8~=0) then do;
if lastsch=-3 & ENCAT<0 then do; * MODIFIED;
ENCAT=-3;
reason=1;
end;
if INV2=1 then do;
flagcoll=-3;
college=-3;
if enroll=1 & lastsch=2.3 then do;
ENCAT=-3;
reason=2.1;
end;
if enroll=0 & somecoll=0 & lastsch=2.3 then do;
ENCAT=-3;
reason=2.2;
end;
end;
* Those who completed high school (or a GED), report HGA>12 but do not
indentify a college on the
school rosters.;
if (HSD=1|GED=1) & (13<=e2857r8<95) & (13<=e3112r8<95) then do;
tmpvar1=ENCAT;
tmpvar2=reason;
ENCAT=-3;
reason=3;
do i=1 to dim(scode);
if scode(i) in (-1,-2,-3,4,5,6) then do;
ENCAT=tmpvar1;
reason=tmpvar2;
end;
end;
end;
* DELETED;
/* Those who received a H.S. Diploma, but report HGA<=12 & HGC<12.;
if HSD=1 & e2857r8<=12 & e3112r8<12 & hgcloop<12 & handedit=0 then do;
chk_hgc=1;
if hsrP=-4 then do;
ENCAT=-3;
reason=4;
end;
end;*/
* If R has neither GED nor H.S. Diploma but reports going to a college, in a
degree program,
& HGA>=13, and we have no additional evidence that R was given special
permission to do so
we code ENCAT=-3.;
if (13<=e2857r8<=20) & GED=0 & HSD=0 & clg_ok~=1 & currcoll=1 then do;
ENCAT=-3;
reason=5;
end;
* Those who reported being in a 2-yr or 4-yr college but were not asked what
type of degree
working towards;
if rosprb1=1 & ENCAT=-3 & reason=. then reason=6;
end;
** HANDEDITS (2);
** Had a GED and was in college last round. This round discontinued going to
that college and went
to a school to get High School Diploma.;
if pubid=6754 then do;
ENCAT=4;
handedit=1;
end;
** The second school type was -2. R is currently enrolled in this school. We
identified the school
as a community center.;
if pubid=6743 then do;
ENCAT=8;
handedit=1;
end;
** The second school type was -2. R is currently enrolled in this school. We
identified the school
as a vocational institute. R was in a GED program in an earlier school which
R left as R moved
away.;
if pubid=7828 then do;
ENCAT=1;
handedit=1;
end;
** R left college in last round bcos of poor grades. At that time R was
working towards an AA degree.
In this round R reported re-enrolling in that same college and currently
enrolled but did not
know what degree R was working towards and had no major.;
if pubid=2377 then do;
ENCAT=4;
handedit=1;
end;
** R reported being enrolled in this college since Round 6 and reported not
working towards any
diploma or degree in Rounds 6, 7 and 9. In this round R reported not knowing
what degree R was
working towards;
if pubid=395 then do;
ENCAT=3;
handedit=1;
end;
** In this round R reported not knowing what degree R was working towards. R
reported being enrolled
in this college in Round 9 as well and in that round reported R was not
working towards any
diploma or degree. R was also enrolled in this college in Rounds 4 and 5
when R reported working
towards an AA degree.;
if pubid=4171 then do;
ENCAT=4;
handedit=1;
end;
** In this round R reported not knowing what degree R was working towards.
This is the only round R
reports being enrolled in any college.;
if pubid=5379 then do;
ENCAT=3;
handedit=1;
end;
** R received H.S.Diploma in June 2000 and then enrolled in college in
September 2000. R refused
to report the degree R was working towards. The last time R was interview
was in May 1997 and
so we do not have any additional information about this college.;
if pubid=6948 then do;
ENCAT=-3;
handedit=1;
end;
** In this round R reported not knowing what degree R was working towards. R
has been continuously
enrolled at this college since Round 4 (except for 1 vacation term reported
in Round 5) and also
reported being enrolled at this college in Round 9. Also R has reported
working towards an AA
degree in all rounds other than this round.;
if pubid=7519 then do;
ENCAT=9;
handedit=1;
end;
** In this round R reported not knowing what degree R was working towards. R
was last enrolled in a
high school in May 1999 (reported in Round 3). After that R was not enrolled
until this round. In
Round 5 R reported receiving a H.S. Diploma in June 2000.;
if pubid=8491 then do;
ENCAT=3;
handedit=1;
end;
** encat_r2=9, reports a college enrollment in Round 2 but has neither GED
nor HSD. ENCAT is 1 or 8
since that round. Is not enrolled in college in this round.;
if pubid in (3508, 8952) then do;
ENCAT=1;
handedit=1;
end;
** Degree working towards was missing and was not interviewed in R9;
if pubid=1346 then do;
ENCAT=-3;
reason=7;
handedit=1;
end;
oldenroll=enroll;
***** SECTION II *****;
data mrg2; set mrg1;
** Must fix "ENROLL" flag because this flag is used in the grades
skipped/repeated program;
if ENCAT in (1,2,3,4,5,6,7) & ENROLL~=0 then do;
ENROLL=0;
enr_chg=1;
end;
if ENCAT in (8,9,10,11) & ENROLL~=1 then do;
ENROLL=1;
enr_chg=2;
end;
** State the arrays to be used in the rest of the program;
array gratnd (*) e8416r8_11 e8416r8_12
e8416r8_21
e8416r8_31
e8416r8_41
e8416r8_51
e9589r8_111-e9589r8_113 e9589r8_121
e9589r8_211-e9589r8_213
e9589r8_311-e9589r8_313
e9589r8_511;
array grcomp (*) e9131r8_11 e9131r8_12
e9131r8_21
e9131r8_31
e9131r8_41
e9131r8_51
e9946r8_111-e9946r8_113 e9946r8_121
e9946r8_211-e9946r8_213
e9946r8_311-e9946r8_313
e9946r8_511;
array yrcomp (*) e9335yr8_11 dum
e9335yr8_21
e9335yr8_31
e9335yr8_41
e9335yr8_51
e10099yr8_111-e10099yr8_113 dum
e10099yr8_211-e10099yr8_213
e10099yr8_311-e10099yr8_313
e10099yr8_511;
array mocomp (*) e9335mr8_11 dum
e9335mr8_21
e9335mr8_31
e9335mr8_41
e9335mr8_51
e10099mr8_111-e10099mr8_113 dum
e10099mr8_211-e10099mr8_213
e10099mr8_311-e10099mr8_313
e10099mr8_511;
array e23450 (5) e23450r8_1-e23450r8_3 dum dum;
maxgrade=-16;
comp_mo=-16;
comp_yr=-16;
assign='unassigned';
evrloop=0; * Flag to indicate respondents who go through a grade loop at
least once;
subsitm=0; * Flag to indicate e3112 (single item) is being used to compute
GRSURV;
subhgam=0; * Flag to hgaloop (HGA from loop) minus 1 is being used to
compute GRSURV;
subprev=0; * Flag to indicate grade from last interviewed round is being
used to compute GRSURV;
setto12=0; * Flag to indicate GRSURV being set to 12;
dateitm=0; * Flag to indicate date of grade completion missing;
disagre=0; * Flag to indicate that GRSURV from previous rounds is greater
than from the current round;
datedeg=0; * Flag to indicate date of degree received is invalid;
mxg_inv=0; * Flag to indicate that the completed grade from loops is 0 or
invalid;
*******************************************************************************************
*** [II] CREATED VARIABLE - HIGHEST GRADE COMPLETED AS OF THE SURVEY DATE (GRSURV)
***
*******************************************************************************************;
*** [IIA] Enrolled or not enrolled;
** Compute maximum grade completed using information in this round (grade
loops);
do i=1 to dim(gratnd);
if gratnd(i)>=0 & gratnd(i)>maxgrade then do; ** Select cases where there is
a valid grade and it
is greater than the previously recorded grade;
if grcomp(i)=1 then do;
assign='FROM LOOP';
maxgrade=gratnd(i);
comp_mo=mocomp(i);
comp_yr=yrcomp(i);
if (0<yrcomp(i)<YEAR)|(yrcomp(i)=YEAR & 0<mocomp(i)<=MONTH) then do;
CJUMON=mocomp(i);
CJUYR=yrcomp(i);
CJUGR=gratnd(i); * NEW;
GRJUNE=gratnd(i);
LOC=1;
end;
end;
else if grcomp(i) in (-1,-2,-3) then do;
maxgrade=grcomp(i);
assign='GRCOMP MISSING ';
end;
end;
if gratnd(i) in (0,-1,-2,-3,-4) & grcomp(i)>-4 then do; * MODIFIED;
mxg_inv=1;
*assign='GRADE INVALID';
end;
if gratnd(i) in (0,-1,-2,-3,-4) & grcomp(i)=1 then do; * MODIFIED;
mxg_inv=2;
maxgrade=-55;
end;
if grcomp(i)>-4 then evrloop=1;
end;
/* DELETED
** Create variable indicating maximum grade completed from previous rounds;
grsurvP=GRSURV_r6;
if GRSURV_r6=-5 then do;
grsurvP=GRSURV_r5;
if GRSURV_r5=-5 then do;
grsurvP=GRSURV_r4;
if GRSURV_r4=-5 then do;
grsurvP=GRSURV_r3;
if GRSURV_r3=-5 then do;
grsurvP=GRSURV_r2;
if GRSURV_r2=-5 then do;
grsurvP=GRSURV_r1;
end;
end;
end;
end;
end;
if e3061>=0 then grsurvP=e3061;
*/
** Make GRSURV equal to maximum completed grade reported in the loops;
GRSURV=maxgrade;
LOCATOR=1;
** R reports YSCH-3112 to be in (1,2,3,4) and as being in college. Then it
may be possible that R
is reporting the completed years of college rather than years of schooling.
Here we identify
these cases; * NEW;
if ENCAT in (4,5,6,7,9,10,11) & e3112r8 in (1,2,3,4,5,6) then do;
inclg_lowHGC=1;
e3112r8_imp=e3112r8+12;
end;
** If invalid or incorrect grade data was read into loop or if R never goes
through the loops
(usually because they now attend 2 or 4 year colleges, sometimes because of
infosheet mistake) and
they attended school at some time either at DLI or SDLI, then replace GRSURV
with single item;
** However: this single item must be checked against the roster data: if R
completed high school,
never reports attending a college in the loop/roster information, but
indicates
enrollment in a grade > 12 in the single item measure, the GRSURV variable
is set to 12
since no college degree program has been reported.;
if (((e8416r8_11<=0) & e9131r8_11~=-4)|GRSURV=-55|evrloop=0) & e3878r8~=0 &
e3112r8~=-4 then do;
subsitm=1;
if e3112r8<=12 & HSD=0 & GED=0 & clg_ok~=1 then do;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=2.1;
LOC=2.1;
if e8416r8_11<=0 & e9131r8_11~=-4 then assign='ENROLLED, BAD GRADE: SUBS.
ITEM';
else if evrloop=0 then assign='ENROLLED, NOT THRU LOOPS: SUBS. ITEM';
else if maxgrade=-55 then assign='ENROLLED, BAD GRADE: SUBS. ITEM';
end;
end;
if mxg_inv=1 & -55<maxgrade<0 & e3878r8~=0 & e3112r8~=-4 then do; * NEW
subsitm=1;
if HSD=0 & clg_ok~=1 then do;
GRSURV=e3112r8;
LOCATOR=2.2;
LOC=2.2;
end;
end;
/*****
** If someone confirmed completing a grade in the loop & didn't know the
year of completion, then
use the loop data or the single item (ysch-3112) whichever is lower.;
if maxgrade=GRSURV & comp_yr=-2 then do;
if maxgrade>e3112r8 & e3112r8>=0 then do;
dateitm=1;
subsitm=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=3;
LOC=3.1;
assign='SUBS. ITEM: NO DATE ITEM lower';
end;
end;
if maxgrade=GRSURV & comp_yr~=-2 & comp_mo=-2 then do;
if comp_yr<YEAR then do;
GRJUNE=GRSURV;
LOC=3.21;
end;
if comp_yr>=YEAR then do;
GRJUNE=-3;
LOC=3.22;
end;
end;
else if (comp_yr~=-2 & comp_mo~=-2) then do;
dateitm=.;
end;
*** Major modification on 10-13-2005;
** If R was enrolled SDLI but didn't confirm completing a grade
If single item HGA and HGA from loop are equal
then we substitute HGC single item if HGA from loop is one or more grades
higher than
HGC single item. Otherwise if HGC single item greater than or equal to HGA
from loop then use
HGC from DLI.
If single item HGA and HGA from loop are not equal
then we substitute HGC from DLI if single item HGC is equal to HGC from DLI
or
single item HGC if it is 1 grade higher than HGC from DLI;
if GRSURV=-16 & e3878r8~=0 then do;
if (hgaloop=e2857r8) & (e2857r8>=0) then do;
if (hgaloop-1)>=e3112r8 & e3112r8>=0 then do;
gr_ncomp1=1;
subsitm=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=4.1;
LOC=4.1;
assign='ENROLLED-NO LOOP HGC-hgaloop-1=e3112r8: SUBS hgaloop-1';
end;
else if e3112r8>(hgaloop-1) & e3112r8>=grsurvP>=0 & hgaloop>=0 then do;
gr_ncomp2=1;
subprev=1;
GRSURV=grsurvP;
GRJUNE=grsurvP;
LOCATOR=4.2;
LOC=4.2;
assign='ENROLLED-NO LOOP HGC-SAID NO to GRADE: SUBS PREV';
end;
else if e3112r8>(hgaloop-1) & 0<=e3112r8<grsurvP & hgaloop>=0 then
gr_ncomp2=2;
end;
if hgaloop~=e2857r8 & e2857r8>=0 & hgaloop>=0 then do;
if hgaloop<e2857r8 then gr_ncomp3=1;
if hgaloop>e2857r8 then gr_ncomp3=2;
if e3112r8<=grsurvP then do;
GRSURV=grsurvP;
GRJUNE=grsurvP;
locator=4.3;
LOC=4.3;
assign='ENROLLED-NO LOOP HGC-SAID NO to GRADE: SUBS PREV';
end;
end;
end;
*****/
** If R was enrolled SDLI but didn't confirm completing a grade, we
substitute a value equal to one
less than HGA from loop using a conservative approach:
if the HGA from loop(hgaloop) is equal to the single item HGA (e2857) then
must have completed
hgaloop-1 and so substitute hgaloop-1.
else if hgaloop-1 >= e3112 or grsurvP=e3112 then e3112 makes sense and so
substitute single item
(e3112).
else if hgaloop-1 < e3112 and grsurvP < e3112 then e3112 becomes suspect and
so substitute
grsurvP;
if GRSURV=-16 & e3878r8~=0 then do;
if (hgaloop=e2857r8) & (e2857r8>=0) then do;
subhgam=1;
GRSURV=hgaloop-1;
GRJUNE=-3;
LOCATOR=3.1;
LOC=3.1;
assign='ENROLLED-NO LOOP HGC-hgaloop=2857: SUBS hgaloop-1';
end;
else if (hgaloop-1)=e3112r8 & e3112r8>=0 then do;
subsitm=1;
subhgam=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=3.2;
LOC=3.2;
assign='ENROLLED-NO LOOP HGC-hgaloop-1=e3112: SUBS hgaloop-1';
end;
else if (hgaloop-1)>e3112r8 & e3112r8>=0 then do;
subsitm=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=3.3;
LOC=3.3;
assign='ENROLLED-NO LOOP HGC-hgaloop-1=e3112: SUBS hgaloop-1';
end;
else if e3112r8>(hgaloop-1) & e3112r8>=grsurvP>=0 & hgaloop>=0 then do;
subprev=1;
GRSURV=grsurvP;
GRJUNE=grsurvP;
LOCATOR=3.4;
LOC=3.4;
assign='ENROLLED-NO LOOP HGC-SAID NO to GRADE: SUBS PREV';
end;
end;
** If someone confirmed completing a grade in the loop & didn't know the
year of completion, then
use the loop data or the single item (ysch-3112) whichever is lower.;
if maxgrade=GRSURV & comp_yr=-2 then do;
if maxgrade>e3112r8 & e3112r8>=0 then do;
dateitm=1;
subsitm=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=4;
LOC=4.1;
assign='SUBS. ITEM: NO DATE ITEM lower';
end;
end;
if maxgrade=GRSURV & comp_yr~=-2 & comp_mo=-2 then do;
if comp_yr<YEAR then do;
GRJUNE=GRSURV;
LOC=4.21;
end;
if comp_yr>=YEAR then do;
GRJUNE=-3;
LOC=4.22;
end;
end;
else if (comp_yr~=-2 & comp_mo~=-2) then do;
dateitm=.;
end;
** If R reported receiving a GED or H.S. Diploma, but GRSURV<12 then set
GRSURV=12. If date of
receipt of GED or HS Diploma is on or before June 2004 then GRJUNE is also
set to 12. If not
then GRJUNE is set to grsurvP if maxgrade is invalid. If maxgrade is valid
then GRJUNE has
already been set by the code above. If dates are invalid then GRJUNE is set
to -3.;
setto12=0;
if (HSD=1|GED=1) & GRSURV<=12 then do;
setto12=1;
GRSURV=12;
LOCATOR=5;
if 0<=GRJUNE<grsurvP<95 then do;
GRJUNE=grsurvP;
LOC=5.10;
end;
if (CDTGD=-3 & gdrP=-4 & hsrP=-4)|(CDTHS=-3 & hsrP=-4 & gdrP=-4) then do; *
NEW;
GRJUNE=-3;
LOC=5.11;
end;
if ((CDTGD=-3 & gdrP>-4)|(CDTHS=-3 & hsrP>-4)) & dlicm>JUNEYR then do; *
NEW;
GRJUNE=-3;
LOC=5.12;
end;
if ((CDTGD=-3 & gdrP>-4)|(CDTHS=-3 & hsrP>-4)) & 0<dlicm<=JUNEYR then do; *
NEW;
GRJUNE=12;
LOC=5.13;
end;
if CDTGD>JUNEYR & maxgrade<=0 then do;
GRJUNE=grsurvP;
LOC=5.14;
end;
if CDTHS>JUNEYR & maxgrade<=0 then do;
GRJUNE=grsurvP;
LOC=5.15;
end;
if 0<CDTGD<=JUNEYR then do;
GRJUNE=12;
LOC=5.16;
end;
if 0<CDTHS<=JUNEYR then do;
GRJUNE=12;
LOC=5.17;
end;
assign='set to 12: HSD or GED';
end;
/*****
*** Modified on 10-13-2005;
** If college attendance is not reported in the loops then use should be
made of the single item HGC
(e3112), but only if enrollment in a college degree program (aa, ba, ma,
etc) is reported
(e27337) in the current or a previous round. Use ENCAT to determine whether
R was ever in college.
Given that R attends college then
(a) if e3112>=12 then set that.
(b) if R reports not attending college in this round but had attended
college by DLI then set
to HGC by DLI.
(c) otherwise if e3112<12 and none of the above conditions hold then it is
unclear what HGC is so
HGC=-3. Check these cases carefully, using comments to see whether R was
actually enrolled in
a degree program in college. If so then leave those cases out.;
if ENCAT in (4,5,6,7,9,10,11) then do;
if 12<=e3112r8<95 then do;
subsitm=1;
GRSURV=e3112r8;
LOCATOR=6.1;
assign='college';
end;
if e3112r8<12 then inclg_lt12=1;
if e3112r8<grsurvP then inclg_ltDLI=1;
if currcoll=0 & prevcoll=1 & encatP in (4,5,6,7,9,10,11) & 95>e3112r8>grsurvP
then wasinclg_dfDLI=e3112r8-grsurvP;
end;
*****/
** If college attendance is not reported in the loops then use should be
made of the single item HGC
(e3112), but only if enrollment in a college degree program (aa, ba, ma,
etc) is reported
(e27337) in the current or a previous round. Use ENCAT to determine whether
R was ever in college.
Given that R attends college then
(a) if e3112>=12 then set HGC=e3112
(b) if e3112<12 and R reports completing a grade>12 in a previous round and
also attending college
in that round then set the previous round HGC
(c) otherwise if e3112<12 and R reports completing a H.S. Diploma or GED
then GRSURV is
set equal to 12.
(d) otherwise if e3112<12 and none of the above conditions hold then it is
unclear what HGC is so
HGC=-3. Check these cases (locator=6.1) carefully, using comments to see
whether R was
actually enrolled in a degree program in college. If so then leave those
cases out.;
if ENCAT in (4,5,6,7,9,10,11) then do;
if e3112r8<12 & clg_ok~=1 then do;
GRSURV=-3;
LOCATOR=6.1;
assign='college, UNCLEAR';
end;
if e3112r8<12 & (HSD=1|GED=1|clg_ok=1) then do; * MODIFIED;
inclg_grlt12=1;
subsitm=1;
GRSURV=e3112r8;
LOCATOR=6.21;
if e3112r8_imp>12 then do;
GRSURV=e3112r8_imp;
LOCATOR=6.22;
end;
end;
if GRSURV<=12<grsurvP & e3112r8<12 & encatP in (4,5,6,7,9,10,11) then do;
subprev=1;
GRSURV=grsurvP;
LOCATOR=6.3;
assign='college, PREVIOUS round';
end;
if 12<=e3112r8<95 then do;
subsitm=1;
GRSURV=e3112r8;
LOCATOR=6.4;
assign='college';
end;
end;
** If R reports completing a grade in a previous round that is greater than
GRSURV for the current
round and the single item provides a more consistent grade, the single item
is used. If the
single item is also inconsistent, then GRSURV value from the previous round
is used.
Note: don't use single item if it is greater than 12 and no college is
reported;
if 0<grsurvP<95 & 0<GRSURV<grsurvP then disagre=1;
if disagre=1 then do;
rnd_dif=7-dli_rnd+1;
sitm_pr=e3112r8-grsurvP;
if 0<=e3112r8<=12 then do;
subprev=1;
GRSURV=grsurvP;
GRJUNE=grsurvP;
LOCATOR=7.11;
LOC=7.11;
assign='disagre: REPLACE WITH SINGLE ITEM or PREV';
if (0<=sitm_pr<=rnd_dif)|grsurvP=95 then do;
subsitm=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=7.12;
LOC=7.12;
if grsurvP=e3112r8 then do;
GRJUNE=grsurvP;
LOC=7.13;
end;
end;
end;
if ((12<e3112r8<95)|(12<grsurvP<95)) & ENCAT in (4,5,6,7,9,10,11) then do;
GRSURV=grsurvP;
subprev=1;
LOCATOR=7.21;
assign='disagre: college REPORTED, SINGLE ITEM or PRIOR round';
if 0<=sitm_pr<=rnd_dif then do;
subsitm=1;
GRSURV=e3112r8;
LOCATOR=7.22;
end;
end;
if ((12<e3112r8<95)|(12<grsurvP<95)) & ENCAT in (1,8,-3) then do;
GRSURV=-3;
GRJUNE=-3;
LOCATOR=7.3;
LOC=7.3;
assign='disagre: NO college REPORTED';
end;
if ((12<e3112r8<95)|(12<grsurvP<95)) & ENCAT in (2,3) then do;
GRSURV=12;
GRJUNE=-3;
if 12<=grsurvP<95 then do;
GRJUNE=12;
LOC=7.41;
end;
LOCATOR=7.4;
if setto12~=1 then loc=7.42;
end;
end;
*** [IIB] If not enrolled SDLI;
** Assign previous HGC. If previous HGC is missing, then assign single item
(e3112).;
* Note for USER'S GUIDE: every R who reports not being enrolled SDLI is
given the HGC at DLI except
for those who report receiving a GED or H.S. Diploma during the interim. The
latter are assigned a
highest grade completed of 12. Some of these Rs who were not enrolled SDLI
report HGC higher than
HGC from last interview. We do not use this new information for the
computation of their HGC as
this information is not consistent.;
if e3878r8=0 & locator~=5 then do;*& grsurvP>=0;
subprev=1;
GRSURV=grsurvP;
GRJUNE=grsurvP;
LOCATOR=8.1;
LOC=8.1;
end;
if e3878r8=0 & grsurvP<=0 & locator~=5 & locator_LR~=11 then do;
subsitm=1;
GRSURV=e3112r8;
GRJUNE=-3;
LOCATOR=8.2;
LOC=8.2;
end;
** If R doesn't report any college but reports a completed grade higher than
12, we code GRSURV=12
as long as R has at least a GED or a H.S. Diploma. If R does not have either
we code GRSURV=-3. A
person reporting going to a 2/4-yr college for a vocational training but
reporting a highest
grade completed of more than 12 would also fall in this category. If date of
receipt of GED or HS
Diploma is on or before June 2004 then GRJUNE is also set to 12. If not and
maxgrade is invalid
then GRJUNE is set to grsurvP. If maxgrade is valid then GRJUNE has already
been set by the code
above. If dates are invalid then GRJUNE is set to -3.;
if 12<GRSURV<95 & ENCAT in (1,2,3,8,-3) then do;
if GED=1|HSD=1 then do;
setto12=1;
GRSURV=12;
LOCATOR=9.1;
if CDTGD=-3|CDTHS=-3 then do;
GRJUNE=-3;
LOC=9.11;
end;
if CDTGD>JUNEYR & maxgrade<=0 then do;
GRJUNE=grsurvP;
LOC=9.12;
end;
if CDTHS>JUNEYR & maxgrade<=0 then do;
GRJUNE=grsurvP;
LOC=9.13;
end;
if 0<CDTGD<=JUNEYR then do;
GRJUNE=12;
LOC=9.14;
end;
if 0<CDTHS<=JUNEYR then do;
GRJUNE=12;
LOC=9.15;
end;
if ENCAT=-3 & encatP in (4,5,6,7,9,10,11) then do; ** Modified on
10-13-2005;
GRSURV=grsurvP;
GRJUNE=grsurvP;
LOCATOR=9.2;
LOC=9.2;
end;
end;
if GED=0 & HSD=0 then do;
GRSURV=-3;
GRJUNE=-3;
LOCATOR=9.3;
LOC=9.3;
end;
end;
if GRSURV=-3 then do;
GRJUNE=-3;
LOC=10.1;
end;
if GRSURV in (-55,-2,-16,0) then do;
GRSURV=-3;
GRJUNE=-3;
LOCATOR=10;
LOC=10.2;
end;
if GRJUNE=. then do;
if e3878r8=0 then do;
GRJUNE=GRSURV;
LOC=11;
end;
if maxgrade=GRSURV & ((comp_yr=YEAR & comp_mo>MONTH)|comp_yr>YEAR) then do;
GRJUNE=grsurvP;
LOC=12;
end;
if maxgrade=GRSURV & 0<comp_yr<YEAR & comp_mo=-2 then do;
GRJUNE=grsurv;
LOC=13;
end;
if comp_yr=-2 & comp_mo=-2 then do;
GRJUNE=-3;
LOC=14;
end;
end;
if grsurvP=GRSURV & GRJUNE~=grsurvP then do;
GRJUNE=grsurvP;
LOC=15;
end;
if GRJUNE=. then do;
GRJUNE=-3;
LOC=16;
end;
if ENCAT in (4,5,6,7,9,10,11) then do;
GRJUNE=-4;
LOC=17;
end;
** Cases where R reported a higher grade in e3112 (HGC) than was reported in
the last round that
they were interviewed and who indicate their e2857 (HGA) is at least two
grade higher than the
grsurvP value, but for those who indicated that they were not enrolled
GRSURV should be coded -3
since the R is providing conflicting information.;
if e3878r8=0 & (GRSURV=grsurvP<e3112r8<=12) & e2857r8-2>=GRSURV>0 &
e2857r8~=hgaP then do;
GRSURV=-3;
GRJUNE=-3;
LOCATOR=11;
LOC=18;
assign='CONFLICTING INFORMATION';
end;
** chkgrjune is a problem and must be handedited. chkgrjune is ok;
if subprev=1 & grsurv=grsurvP & grjune=grsurvP then do;
if dlicm>JUNEYR then do;
chkgrjune=1;
if e3878r7=0 then chkgrjune=2;
end;
*if 0<compyr<=YEAR then chkgrjune=0;
end;
********************************************************************************************
*** [IV] CREATED VARIABLE - HIGHEST DEGREE RECEIVED AS OF THE SURVEY DATE (DEGSURV)
***
********************************************************************************************;
DEGSURV=0;
** GED;
if GED=1 then DEGSURV=1;
if GED=-3 then DEGSURV=-3;
** High School Diploma;
if HSD=1 then DEGSURV=2;
if HSD=-3 then DEGSURV=-3;
** Junior College or two-year Associate Degree;
if CDTAA>-4 then DEGSURV=3;
** Bachelor's Degree;
if CDTBA>-4 then DEGSURV=4;
** Master's Degree;
if CDTMA>-4 then DEGSURV=5;
** Doctoral Degree;
if CDTDC>-4 then DEGSURV=6;
** Professional Degree;
if CDTPF>-4 then DEGSURV=7;
** If degree received cannot determine what degree received;
do i=1 to dim(e23450);
if e23450(i) in (-1, -2, -3) then DEGSURV=-3;
end;
/* DELETED
** To constrain degsurv by the degsurv from the last interviewed round;
degsurvP=DEGSURV_r6;
if DEGSURV_r6=-5 then do;
degsurvP=DEGSURV_r5;
if DEGSURV_r5=-5 then do;
degsurvP=DEGSURV_r4;
if DEGSURV_r4=-5 then do;
degsurvP=DEGSURV_r3;
if DEGSURV_r3=-5 then do;
degsurvP=DEGSURV_r2;
if DEGSURV_r2=-5 then do;
degsurvP=DEGSURV_r1;
end;
end;
end;
end;
end;
*/
** Check these cases as they should not occur;
if 0<=DEGSURV<degsurvP & e3112r8~=-5 then prev_deg=1;
** HANDEDITS (): The DEGSURV in the previous round is wrong and so cannot
use that information to
overwrite the DEGSURV computed in this round.;
****************************************************************************************
*** [V] CREATED VARIABLE - HIGHEST DEGREE COMPLETED AS OF JUNE 30,
2004 (DEGJUNE)
***
****************************************************************************************;
DEGJUNE=0;
** GED;
if 0<CDTGD<=JUNEYR then DEGJUNE=1;
if CDTGD in (-3, -2, -1) then DEGJUNE=-3;
** High School Diploma;
if 0<CDTHS<=JUNEYR then DEGJUNE=2;
if CDTHS in (-3, -2, -1) then DEGJUNE=-3;
** Junior College or 2-year Associate Degree;
if 0<CDTAA<=JUNEYR then DEGJUNE=3;
if CDTAA in (-3, -2, -1) then DEGJUNE=-3;
** Bachelor's Degree;
if 0<CDTBA<=JUNEYR then DEGJUNE=4;
if CDTBA in (-3, -2, -1) then DEGJUNE=-3;
** Master's Degree;
if 0<CDTMA<=JUNEYR then DEGJUNE=5;
if CDTMA in (-3, -2, -1) then DEGJUNE=-3;
** Doctoral Degree;
if 0<CDTDC<=JUNEYR then DEGJUNE=6;
if CDTDC in (-3, -2, -1) then DEGJUNE=-3;
** Professional Degree;
if 0<CDTPF<=JUNEYR then DEGJUNE=7;
if CDTPF in (-3, -2, -1) then DEGJUNE=-3;
** Constrain degjune by prevdegsruv if the latter is equal to degsruv in
this round;
if DEGJUNE~=DEGSURV & DEGSURV=degsurvP & DEGSURV>=0 & DEGJUNE>=0 then do;
DEGJUNE=degsurvP;
end;
if DEGSURV=-3 then DEGJUNE=-3;
if (DEGSURV=1 & -4<CDTGD<=0)|(DEGSURV=2 & -4<CDTHS<=0)|(DEGSURV=3 &
-4<CDTAA<=0)
|(DEGSURV=4 & -4<CDTBA<=0)|(DEGSURV=5 & -4<CDTMA<=0)|(DEGSURV=6 &
-4<CDTDC<=0)
|(DEGSURV=7 & -4<CDTPF<=0) then datedeg=1;
if datedeg=1 then DEGJUNE=-3;
if ENCAT in (-1,-2) then ENCAT=-3;
if GRSURV in (-1,-2) then GRSURV=-3;
if GRJUNE in (-1,-2) then GRJUNE=-3;
if DEGSURV in (-1,-2) then DEGSURV=-3;
if DEGJUNE in (-1,-2) then DEGJUNE=-3;
if e3112r8=-5 then do;
ENROLL=-5;
ENCAT=-5;
GRSURV=-5;
GRJUNE=-5;
DEGSURV=-5;
DEGJUNE=-5;
assign ='NON-INTERVIEW';
GED=-5;
HSD=-5;
LOCATOR=-5;
LOC=-5;
end;
if e3112r8~=-5 then do;
chkdeg2=0;
if HGDEGr8-degsurv~=1 then chkdeg2=1;
if HGDEGr8=degsurv & HGDEGr8=-3 then chkdeg2=0;
end;
chk1=.; chk2=.; chk3=.; chk4=.; chk5=.; chk6=.;
if ENCAT in (4,5,6,7,9,10,11) then do;
if 0<=grsurv<12 then chk1=1;
if grsurv=95 then chk1=2;
end;
if ENCAT in (1,2,3,8) then do;
if 12<grsurv<95 then chk2=1;
if grsurv=95 then chk2=2;
end;
if ENCAT in (4,5,6,7,9,10,11) & currcoll=0 & 0<=grsurvP<grsurv &
wasinclg_DLI~=1 then chk3=1;
if 0<=e2857r8<grsurv then do;
if 0<=e2857r8<grsurvP & e3878r8~=0 then chk4=1.1;
if 0<=e2857r8<maxgrade then chk4=1.2;
if 0<=e2857r8<e3112r8 then chk4=1.3;
if (hsd=1|ged=1) & grsurv=12 then chk4=.;
end;
if degsurv=0 & ENCAT in (2,3,4,5,6,7,9,10,11) then chk5=1;
if degsurv=1 & ENCAT in (1,8,3,5,6,7) then chk5=2;
if degsurv=2 & ENCAT in (1,8,2,5,6,7) then chk5=3;
if degsurv=3 & ENCAT in (1,8,2,3,6,7) then chk5=4;
if degsurv=4 & ENCAT in (1,8,2,3,5,7) then chk5=5;
if degsurv in (5,6,7) & ENCAT in (1,8,2,3,5,6) then chk5=6;
if ENCAT=-3 & grsurv~=-3 then do;
chk6=1;
if locator=11 then chk6=2;
end;
if 0<=e2857r8<6 & ENCAT in (4,5,6,7,9,10,11) then z=e2857r8+12;
if z=. then chk4z=chk4;
if 0<=z<grsurv then do;
if 0<=z<grsurvP & e3878r8~=0 then chk4z=1.1;
if 0<=z<maxgrade then chk4z=1.2;
if 0<=z<e3112r8 then chk4z=1.3;
if (hsd=1|ged=1) & grsurv=12 then chk4z=.;
end;
ENDSAS;
Variables Created: CV_SCHOOL_TYPE (SLTYPE)
Variables Used
|
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
|
| TYPER1 | CV_SCHOOL_TYPE_1997 | SSTOP1Y2 | NEWSCHOOL_STOP1.02~Y | |
| TYPER2 | CV_SCHOOL_TYPE_1998 | SSTOP1M3 | NEWSCHOOL_STOP1.03~M | |
| TYPER3 | CV_SCHOOL_TYPE_1999 | SSTOP1Y3 | NEWSCHOOL_STOP1.03~Y | |
| TYPER4 | CV_SCHOOL_TYPE_2000 | SSTOP1M4 | NEWSCHOOL_STOP1.04~M | |
| TYPER5 | CV_SCHOOL_TYPE_2001 | SSTOP1Y4 | NEWSCHOOL_STOP1.04~Y | |
| TYPER6 | CV_SCHOOL_TYPE_2002 | SSTOP1M5 | NEWSCHOOL_STOP1.05~M | |
| SPERIOD1 | NEWSCHOOL_PERIODS.01 | SSTOP1Y5 | NEWSCHOOL_STOP1.05~Y | |
| SPERIOD2 | NEWSCHOOL_PERIODS.02 | SSTOP2M1 | NEWSCHOOL_STOP2.01~M | |
| SPERIOD3 | NEWSCHOOL_PERIODS.03 | SSTOP2Y1 | NEWSCHOOL_STOP2.01~Y | |
| SPERIOD4 | NEWSCHOOL_PERIODS.04 | SSTOP2M2 | NEWSCHOOL_STOP2.02~M | |
| SPERIOD5 | NEWSCHOOL_PERIODS.05 | SSTOP2Y2 | NEWSCHOOL_STOP2.02~Y | |
| SCODE1 | NEWSCHOOL_SCHCODE.01 | SSTOP3M1 | NEWSCHOOL_STOP3.01~M | |
| SCODE2 | NEWSCHOOL_SCHCODE.02 | SSTOP3Y1 | NEWSCHOOL_STOP3.01~Y | |
| SCODE3 | NEWSCHOOL_SCHCODE.03 | STYPE1 | NEWSCHOOL_TYPE.01 | |
| SCODE4 | NEWSCHOOL_SCHCODE.04 | STYPE2 | NEWSCHOOL_TYPE.02 | |
| SCODE5 | NEWSCHOOL_SCHCODE.05 | STYPE3 | NEWSCHOOL_TYPE.03 | |
| SSTOP1M1 | NEWSCHOOL_STOP1.01~M | STYPE4 | NEWSCHOOL_TYPE.04 | |
| SSTOP1Y1 | NEWSCHOOL_STOP1.01~Y | STYPE5 | NEWSCHOOL_TYPE.05 | |
| SSTOP1M2 | NEWSCHOOL_STOP1.02~M | pubid | PUBID |
Codes for Created Variable
1 = Public school
2 = Private, not parochial
3 = Parochial
4 = OtherCode for new school
1='Elementary school'
2='Middle school/intermediate school/junior high sch
3='High school'
4='Two-year college, community college, or junior co
5='Four year college or university'
6='No information'
Code for new school type
1='1. Public school'
2='2. Technical or vocational high school'
3='3. Catholic school'
4='4. Private school-other religious affiliation'
5='5. Private school-no religious affiliation'
6='6. Alternative school'
9='9. OTHER (SPECIFY)'
10='10. Home School'
11='11. Detention/Rehab'
12='12. Charter School'
13='13. Magnet School'
This program is used to create the school type variables from Round 8, i.e. the
current or most recent schools that the youth attended are public, private, parochial or other. This is
completed in the following steps:
1) We first decide which school is the most recent school (non-college) that the
youth participated by the ending date for different enrollment periods.
2) We can get the school type from the new school roster. However, in the program, these two steps can not be
separated.
/* create the array variables.*/
* # of enrollment periods;
array speriod speriod1-speriod5;
* ending date for each period;
array sstop1m sstop1m1-sstop1m5;
array sstop1y sstop1y1-sstop1y5;
array sstop2m sstop2m1-sstop2m2;
array sstop2y sstop2y1-sstop2y2;
array sstop3m sstop3m1 sstop3m2;
array sstop3y sstop3y1 sstop3y2;
* school code, i.e. elementary school, high school or college;
array scode scode1-scode5;
*school type for round 8;
array stype stype1-stype5;
* ending time for each school;
array srecm srecm1-srecm5;
array srecy srecy1-srecy5;
* school length counting both month&year: the month length from jan. 1990 to
the ending month for each school;
array mlength mlength1-mlength5;
* school length counting only year: the year length from 1990 to the ending
year for each school;
* this variable is to take care of the situation where ending year is
invalid;
array ylength ylength1-ylength5;
/***** step 1).In the process to decide the most recent school. *****/
do i=1 to 5;
srecm[i]=-4;
srecy[i]=-4;
if speriod[i]=1 and scode[i] in (1,2,3) then do;
srecm[i]=sstop1m[i];
srecy[i]=sstop1y[i];
end;
if speriod[i]=2 and scode[i] in (1,2,3) then do;
srecm[i]=sstop2m[i];
srecy[i]=sstop2y[i];
end;
if speriod[i]=3 and scode[i] in (1,2,3) then do;
srecm[i]=sstop3m[i];
srecy[i]=sstop3y[i];
end;
if srecm[i] gt 0 and srecy[i] gt 0 then mlength[i]=12*(srecy[i]-1990)+srecm[i];
else mlength[i]=-4;
if srecy[i] gt 0 then ylength[i]=srecy[i]-1990;
else ylength[i]=-4;
end;
maxmleng=max(mlength1,mlength2, mlength3, mlength4, mlength5 );
if stype1=-5 then maxmleng=-5;
maxyleng=max(ylength1,ylength2, ylength3, ylength4, ylength5);
if stype1=-5 then maxyleng=-5;
/***** step 2). Decide the latest non-college school and its type*****/
type1=-4;
***** create the flag variables;
* flag the cases where multiple schools' ending year/month are same as "maxmleng";
maxmeq=0;
do i=1 to 5;
if maxmleng>0 and mlength[i]=maxmleng then maxmeq=maxmeq+1;
end;
* flag the cases where multiple schools' ending year are the same as "maxyleng"
and ending months are invalid answer;
invalidm=0; maxyeq=0;
do i=1 to 5;
if maxyleng>0 and ylength[i]=maxyleng and srecm[i] in (-1,-2,-3) then
invalidm=invalidm+1;
if maxyleng>0 and ylength[i]=maxyleng then maxyeq=maxyeq+1;
end;
***** first step to create school type;
* use only the year information first;
do i=1 to 5;
if maxyleng>0 and ylength[i]=maxyleng then type1=stype[i];
end;
* then use the month information to make it more precise;
do i=1 to 5;
if maxmleng>0 and mlength[i]=maxmleng then type1=stype[i];
end;
***** Fix the special cases where multiple schools' ending years are same as
maxyleng;
/* go back to fix the case such as 97.12 and 99.-2. because if "maxmleng"
cover "maxyleng", the codes above
will pick up the school ending on 97.12 as most recent school.*/
if maxyeq=1 then do;
do i=1 to 5;
if ylength[i]=maxyleng then type1=stype[i];
end;
end;
if invalidm ge 2 then type1=-3;
* flag the cases which has 98.02 and 98.-3;
flag=0;
if maxyeq ge 2 and invalidm ge 1 then flag=1;
if flag=1 then type1=-3; /* There were no such cases in round 4, but there
are a couple of cases in round 5*/
* fix the case such as 99.12, 99.-2 99.-3 or 2000.12 2000.-2;
if maxyeq ge 2 then do;
do i=1 to 5;
if ylength[i]=maxyleng and srecm[i]=12 then do;
type1=stype[i];
flag2=1;
end;
end;
end;
***** Fix the special cases where multiple schools ending year/months are
same as maxmleng;
/*This loop assigns value of PUBLIC schools (1) to TYPE1 in cases where one
reported school type=public
and one reported school type="other". In cases where one reported school
type=PRIVATE and one reported
type="other", value for PRIVATE school type is assigned. Cases where one
school type=PUBLIC and another
school type=PRIVATE are flagged and looked into. */
*dummy for one school is public school and the other is religious school;
pubrelg=0;
*dummy for one school is public school and the other is private school;
pubpriv=0;
*dummy for one school is private and the other is religious school;
privrelg=0;
if maxmeq ge 2 then do;
do i=1 to 5;
if mlength(i)=maxmleng and stype(i)^=type1 then do;
if stype(i) in (6,9,10,11,-1,-2,-3) and type1 in (1,2,12,13) then
type1=type1;
if stype(i) in (1,2,12,13) and type1 in (6,9,10,11,-1,-2,-3) then type1=stype[i];
if stype(i) in (6,9,10,11,-1,-2,-3) and type1 in (3,4) then type1=type1;
if stype(i) in (3,4) and type1 in (6,9,10,11,-1,-2,-3) then type1=stype[i];
if stype(i) in (6,9,10,11,-1,-2,-3) and type1=5 then type1=5;
if stype(i)=5 and type1 in (6,9,10,11,-1,-2,-3) then type1=5;
if (stype(i) in (1,2,12,13) and type1 in (3,4)) or
(stype(i) in (3,4) and type1 in (1,2,12,13)) then pubrelg=1;
if (stype(i) in (1,2,12,13) and type1=5) or
(stype(i)=5 and type1 in (1,2,12,13)) then pubpriv=1;
if (stype(i)=5 and type1 in (3,4)) or
(stype(i) in (3,4) and type1=5) then privrelg=1;
end;
end;
end;
***** Invalid answers;
* for the invalid answers;
if scode1 in (-1,-2,-3)
or scode2 in (-1,-2,-3)
or scode3 in (-1,-2,-3)
or scode4 in (-1,-2,-3)
then type1=-3;
if (scode1 in (1,2,3) and srecy1 in (-1,-2,-3))
or (scode2 in (1,2,3) and srecy2 in (-1,-2,-3))
or (scode3 in (1,2,3) and srecy3 in (-1,-2,-3))
or (scode4 in (1,2,3) and srecy4 in (-1,-2,-3))
then type1=-3;
* if the respondent only goes to one school in r8,input that school type;
if scode1 in (1,2,3)
and scode2 in (-4, 4, 5)
and scode3 in (-4, 4, 5)
and scode4 in (-4, 4, 5)
then type1=stype1;
/***** recode the type variable.*****/
sltype=-4;
if type1 in (1,2,12,13) then sltype=1;
if type1=5 then sltype=2;
if type1 in (3,4) then sltype=3;
if type1 in (6,9,10,11) then sltype=4;
if -4<type1<0 then sltype=-3;
if stype1=-5 then sltype=-5;
* Hand edit other cases who got "-3" because of stopping date but have same
school type for all valid schools
or the most recent school is detectable from the other information such as
intervieww date;
flag1=0;
flag2=0;
if sltype=-3 and stype1=stype2 and stype1>0 then flag1=1;
if flag1=1 then sltype=1;
if int_y=-5 then sltype=-5;
/* fix special cases. There are 12 cases. Respondents attented two schools.
The school type for later one is missing. Coded created variable as -3;*/
if pubid in
(552,
1197,
1346,
1695,
2258,
3218,
3388,
4667,
6162,
7339,
7529,
8319) then sltype=-3;
endsas;
Variables Created:
CV_GED (CDTGED)
CV_HS_DIPLOMA (CDTHS)
CV_AA_DEGREE (CDTAA)
CV_BA_DEGREE (CDTBA)
CV_MA_DEGREE (CDTMA)
CV_DC_DEGREE (CDTDC)
CV_PROF_DEGREE (CDTPF)
Variables Used
|
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
||
| Round 1 | Round 4 cont'd | Round 7 | |||||
| gdr1 | CV_GED | e21300r4_105 | YSCH-21300.01.05 | gdr7 | CV_GED | ||
| hsr1 | CV_HS_DIPLOMA | e21300r4_106 | YSCH-21300.01.06 | hsr7 | CV_HS_DIPLOMA | ||
| doicmr1 | CV_INTERVIEW_CMONTH | e21300r4_107 | YSCH-21300.01.07 | aar7 | CV_AA_DEGREE | ||
| intdr1 | CV_INTERVIEW_DATE~D | e21300r4_108 | YSCH-21300.01.08 | bar7 | CV_BA_DEGREE | ||
| intmr1 | CV_INTERVIEW_DATE~M | e21300r4_201 | YSCH-21300.02.01 | mar7 | CV_MA_DEGREE | ||
| intyr1 | CV_INTERVIEW_DATE~Y | e21300r4_202 | YSCH-21300.02.02 | doicmr7 | CV_INTERVIEW_CMONTH | ||
| e21300r1_101 | YSCH-21300.01.01 | e21300r4_203 | YSCH-21300.02.03 | intdr7 | CV_INTERVIEW_DATE~D | ||
| e21300r1_102 | YSCH-21300.01.02 | e21300r4_204 | YSCH-21300.02.04 | intmr7 | CV_INTERVIEW_DATE~M | ||
| e21400r1_101 | YSCH-21400.01.01 | e21300r4_205 | YSCH-21300.02.05 | intyr7 | CV_INTERVIEW_DATE~Y | ||
| e21400r1_102 | YSCH-21400.01.02 | e21300r4_206 | YSCH-21300.02.06 | e27337r7_1 | YSCH-27337.01 | ||
| e21300r4_301 | YSCH-21300.03.01 | e27337r7_2 | YSCH-27337.02 | ||||
| Round 2 | e21300r4_302 | YSCH-21300.03.02 | e27337r7_3 | YSCH-27337.03 | |||
| gdr2 | CV_GED | e21300r4_401 | YSCH-21300.04.01 | e27337r7_4 | YSCH-27337.04 | ||
| hsr2 | CV_HS_DIPLOMA | e21300r4_402 | YSCH-21300.04.02 | e27337r7_5 | YSCH-27337.05 | ||
| doicmr2 | CV_INTERVIEW_CMONTH | e21400r4_101 | YSCH-21400.01.01 | e23450r7_1 | YSCH-23450.01 | ||
| intdr2 | CV_INTERVIEW_DATE~D | e21400r4_102 | YSCH-21400.01.02 | e23450r7_2 | YSCH-23450.02 | ||
| intmr2 | CV_INTERVIEW_DATE~M | e21400r4_103 | YSCH-21400.01.03 | e23450r7_3 | YSCH-23450.03 | ||
| intyr3 | CV_INTERVIEW_DATE~Y | e21400r4_104 | YSCH-21400.01.04 | lftscr7_1 | NEWSCHOOL_LEFT.01 | ||
| e27337r2_1 | YSCH-27337.01 | e21400r4_105 | YSCH-21400.01.05 | lftscr7_2 | NEWSCHOOL_LEFT.02 | ||
| e27337r2_2 | YSCH-27337.02 | e21400r4_106 | YSCH-21400.01.06 | lftscr7_3 | NEWSCHOOL_LEFT.03 | ||
| e27337r2_3 | YSCH-27337.03 | e21400r4_107 | YSCH-21400.01.07 | lftscr7_4 | NEWSCHOOL_LEFT.04 | ||
| e27337r2_4 | YSCH-27337.04 | e21400r4_108 | YSCH-21400.01.08 | lftscr7_5 | NEWSCHOOL_LEFT.05 | ||
| e27337r2_5 | YSCH-27337.05 | e21400r4_201 | YSCH-21400.02.01 | scoder7_1 | NEWSCHOOL_SCHCODE.01 | ||
| e23450r2_1 | YSCH-23450.01 | e21400r4_202 | YSCH-21400.02.02 | scoder7_2 | NEWSCHOOL_SCHCODE.02 | ||
| e23450r2_2 | YSCH-23450.02 | e21400r4_203 | YSCH-21400.02.03 | scoder7_3 | NEWSCHOOL_SCHCODE.03 | ||
| e23450r2_3 | YSCH-23450.03 | e21400r4_204 | YSCH-21400.02.04 | scoder7_4 | NEWSCHOOL_SCHCODE.04 | ||
| e23450r2_4 | YSCH-23450.04 | e21400r4_205 | YSCH-21400.02.05 | scoder7_5 | NEWSCHOOL_SCHCODE.05 | ||
| stopmr2_11 | NEWSCHOOL_STOP1.01~M | e21400r4_206 | YSCH-21400.02.06 | stopmr7_11 | NEWSCHOOL_STOP1.01~M | ||
| stopyr2_11 | NEWSCHOOL_STOP1.01~Y | e21400r4_301 | YSCH-21400.03.01 | stopyr7_11 | NEWSCHOOL_STOP1.01~Y | ||
| stopmr2_12 | NEWSCHOOL_STOP1.02~M | e21400r4_302 | YSCH-21400.03.02 | stopmr7_12 | NEWSCHOOL_STOP1.02~M | ||
| stopyr2_12 | NEWSCHOOL_STOP1.02~Y | e21400r4_401 | YSCH-21400.04.01 | stopyr7_12 | NEWSCHOOL_STOP1.02~Y | ||
| stopmr2_13 | NEWSCHOOL_STOP1.03~M | e21400r4_402 | YSCH-21400.04.02 | stopmr7_13 | NEWSCHOOL_STOP1.03~M | ||
| stopyr2_13 | NEWSCHOOL_STOP1.03~Y | schidr4_1 | NEWSCHOOL_PUBID.01 | stopyr7_13 | NEWSCHOOL_STOP1.03~Y | ||
| stopmr2_14 | NEWSCHOOL_STOP1.04~M | schidr4_2 | NEWSCHOOL_PUBID.02 | stopmr7_14 | NEWSCHOOL_STOP1.04~M | ||
| stopyr2_14 | NEWSCHOOL_STOP1.04~Y | schidr4_3 | NEWSCHOOL_PUBID.03 | stopyr7_14 | NEWSCHOOL_STOP1.04~Y | ||
| stopmr2_15 | NEWSCHOOL_STOP1.05~M | schidr4_4 | NEWSCHOOL_PUBID.04 | stopmr7_15 | NEWSCHOOL_STOP1.05~M | ||
| stopyr2_15 | NEWSCHOOL_STOP1.05~Y | schidr4_5 | NEWSCHOOL_PUBID.05 | stopyr7_15 | NEWSCHOOL_STOP1.05~Y | ||
| stopmr2_16 | NEWSCHOOL_STOP1.06~M | stopmr7_21 | NEWSCHOOL_STOP2.01~M | ||||
| stopyr2_16 | NEWSCHOOL_STOP1.06~Y | Round 5 | stopyr7_21 | NEWSCHOOL_STOP2.01~Y | |||
| stopmr2_21 | NEWSCHOOL_STOP2.01~M | gdr5 | CV_GED | stopmr7_22 | NEWSCHOOL_STOP2.02~M | ||
| stopyr2_21 | NEWSCHOOL_STOP2.01~Y | hsr5 | CV_HS_DIPLOMA | stopyr7_22 | NEWSCHOOL_STOP2.02~Y | ||
| stopmr2_22 | NEWSCHOOL_STOP2.02~M | aar5 | CV_AA_DEGREE | stopmr7_31 | NEWSCHOOL_STOP3.01~M | ||
| stopyr2_22 | NEWSCHOOL_STOP2.02~Y | bar5 | CV_BA_DEGREE | stopyr7_31 | NEWSCHOOL_STOP3.01~Y | ||
| stopmr2_23 | NEWSCHOOL_STOP2.03~M | doicmr5 | CV_INTERVIEW_CMONTH | e21300r7_101 | YSCH-21300.01.01 | ||
| stopyr2_23 | NEWSCHOOL_STOP2.03~Y | intdr5 | CV_INTERVIEW_DATE~D | e21300r7_102 | YSCH-21300.01.02 | ||
| stopmr2_24 | NEWSCHOOL_STOP2.04~M | intmr5 | CV_INTERVIEW_DATE~M | e21300r7_103 | YSCH-21300.01.03 | ||
| stopyr2_24 | NEWSCHOOL_STOP2.04~Y | intyr5 | CV_INTERVIEW_DATE~Y | e21300r7_104 | YSCH-21300.01.04 | ||
| stopmr2_31 | NEWSCHOOL_STOP3.01~M | e27337r5_1 | YSCH-27337.01 | e21300r7_105 | YSCH-21300.01.05 | ||
| stopyr2_31 | NEWSCHOOL_STOP3.01~Y | e27337r5_2 | YSCH-27337.02 | e21300r7_106 | YSCH-21300.01.06 | ||
| scoder2_1 | NEWSCHOOL_SCHCODE.01 | e27337r5_3 | YSCH-27337.03 | e21300r7_107 | YSCH-21300.01.07 | ||
| scoder2_2 | NEWSCHOOL_SCHCODE.02 | e27337r5_4 | YSCH-27337.04 | e21300r7_108 | YSCH-21300.01.08 | ||
| scoder2_3 | NEWSCHOOL_SCHCODE.03 | e27337r5_5 | YSCH-27337.05 | e21300r7_109 | YSCH-21300.01.09 | ||
| scoder2_4 | NEWSCHOOL_SCHCODE.04 | e27337r5_6 | YSCH-27337.06 | e21300r7_201 | YSCH-21300.02.01 | ||
| scoder2_5 | NEWSCHOOL_SCHCODE.05 | e23450r5_1 | YSCH-23450.01 | e21300r7_202 | YSCH-21300.02.02 | ||
| scoder2_6 | NEWSCHOOL_SCHCODE.06 | e23450r5_2 | YSCH-23450.02 | e21300r7_203 | YSCH-21300.02.03 | ||
| lftscr2_1 | NEWSCHOOL_LEFT.01 | e23450r5_3 | YSCH-23450.03 | e21300r7_204 | YSCH-21300.02.04 | ||
| lftscr2_2 | NEWSCHOOL_LEFT.02 | e23450r5_4 | YSCH-23450.04 | e21300r7_205 | YSCH-21300.02.05 | ||
| lftscr2_3 | NEWSCHOOL_LEFT.03 | e23450r5_5 | YSCH-23450.05 | e21300r7_206 | YSCH-21300.02.06 | ||
| lftscr2_4 | NEWSCHOOL_LEFT.04 | e23450r5_6 | YSCH-23450.06 | e21300r7_207 | YSCH-21300.02.07 | ||
| lftscr2_5 | NEWSCHOOL_LEFT.05 | lftscr5_1 | NEWSCHOOL_LEFT.01 | e21300r7_208 | YSCH-21300.02.08 | ||
| lftscr2_6 | NEWSCHOOL_LEFT.06 | lftscr5_2 | NEWSCHOOL_LEFT.02 | e21300r7_209 | YSCH-21300.02.09 | ||
| lftsc2r2_2 | NEWSCHOOL_LEFT2.02 | lftscr5_3 | NEWSCHOOL_LEFT.03 | e21300r7_301 | YSCH-21300.03.01 | ||
| lftsc2r2_3 | NEWSCHOOL_LEFT2.03 | lftscr5_4 | NEWSCHOOL_LEFT.04 | e21300r7_302 | YSCH-21300.03.02 | ||
| lftsc2r2_4 | NEWSCHOOL_LEFT2.04 | lftscr5_5 | NEWSCHOOL_LEFT.05 | e21300r7_303 | YSCH-21300.03.03 | ||
| e21300r2_101 | YSCH-21300.01.01 | lftscr5_6 | NEWSCHOOL_LEFT.06 | e21300r7_401 | YSCH-21300.04.01 | ||
| e21300r2_102 | YSCH-21300.01.02 | stopmr5_11 | NEWSCHOOL_STOP1.01~M | e21300r7_501 | YSCH-21300.05.01 | ||
| e21300r2_103 | YSCH-21300.01.03 | stopyr5_11 | NEWSCHOOL_STOP1.01~Y | e21400r7_101 | YSCH-21400.01.01 | ||
| e21300r2_104 | YSCH-21300.01.04 | stopmr5_12 | NEWSCHOOL_STOP1.02~M | e21400r7_102 | YSCH-21400.01.02 | ||
| e21300r2_105 | YSCH-21300.01.05 | stopyr5_12 | NEWSCHOOL_STOP1.02~Y | e21400r7_103 | YSCH-21400.01.03 | ||
| e21300r2_201 | YSCH-21300.02.01 | stopmr5_13 | NEWSCHOOL_STOP1.03~M | e21400r7_104 | YSCH-21400.01.04 | ||
| e21300r2_202 | YSCH-21300.02.02 | stopyr5_13 | NEWSCHOOL_STOP1.03~Y | e21400r7_105 | YSCH-21400.01.05 | ||
| e21300r2_203 | YSCH-21300.02.03 | stopmr5_14 | NEWSCHOOL_STOP1.04~M | e21400r7_106 | YSCH-21400.01.06 | ||
| e21300r2_204 | YSCH-21300.02.04 | stopyr5_14 | NEWSCHOOL_STOP1.04~Y | e21400r7_107 | YSCH-21400.01.07 | ||
| e21300r2_205 | YSCH-21300.02.05 | stopmr5_15 | NEWSCHOOL_STOP1.05~M | e21400r7_108 | YSCH-21400.01.08 | ||
| e21300r2_301 | YSCH-21300.03.01 | stopyr5_15 | NEWSCHOOL_STOP1.05~Y | e21400r7_109 | YSCH-21400.01.09 | ||
| e21300r2_302 | YSCH-21300.03.02 | stopmr5_16 | NEWSCHOOL_STOP1.06~M | e21400r7_201 | YSCH-21400.02.01 | ||
| e21300r2_303 | `YSCH-21300.03.03 | stopyr5_16 | NEWSCHOOL_STOP1.06~Y | e21400r7_202 | YSCH-21400.02.02 | ||
| e21300r2_304 | YSCH-21300.03.04 ` | stopmr5_21 | NEWSCHOOL_STOP2.01~M | e21400r7_203 | YSCH-21400.02.03 | ||
| e21300r2_305 | YSCH-21300.03.05 | stopyr5_21 | NEWSCHOOL_STOP2.01~Y | e21400r7_204 | YSCH-21400.02.04 | ||
| e21300r2_401 | YSCH-21300.04.01 | stopmr5_22 | NEWSCHOOL_STOP2.02~M | e21400r7_205 | YSCH-21400.02.05 | ||
| e21300r2_501 | YSCH-21300.05.01 | stopyr5_22 | NEWSCHOOL_STOP2.02~Y | e21400r7_206 | YSCH-21400.02.06 | ||
| e21400r2_101 | YSCH-21400.01.01 | stopmr5_23 | NEWSCHOOL_STOP2.03~M | e21400r7_207 | YSCH-21400.02.07 | ||
| e21400r2_102 | YSCH-21400.01.02 | stopyr5_23 | NEWSCHOOL_STOP2.03~Y | e21400r7_208 | YSCH-21400.02.08 | ||
| e21400r2_103 | YSCH-21400.01.03 | stopmr5_31 | NEWSCHOOL_STOP3.01~M | e21400r7_209 | YSCH-21400.02.09 | ||
| e21400r2_104 | YSCH-21400.01.04 | stopyr5_31 | NEWSCHOOL_STOP3.01~Y | e21400r7_301 | YSCH-21400.03.01 | ||
| e21400r2_105 | YSCH-21400.01.05 | scoder5_1 | NEWSCHOOL_SCHCODE.01 | e21400r7_302 | YSCH-21400.03.02 | ||
| e21400r2_201 | YSCH-21400.02.01 | scoder5_2 | NEWSCHOOL_SCHCODE.02 | e21400r7_303 | YSCH-21400.03.03 | ||
| e21400r2_202 | YSCH-21400.02.02 | scoder5_3 | NEWSCHOOL_SCHCODE.03 | e21400r7_401 | YSCH-21400.04.01 | ||
| e21400r2_203 | YSCH-21400.02.03 | scoder5_4 | NEWSCHOOL_SCHCODE.04 | schidr7_1 | NEWSCHOOL_PUBID.01 | ||
| e21400r2_204 | YSCH-21400.02.04 | scoder5_5 | NEWSCHOOL_SCHCODE.05 | schidr7_2 | NEWSCHOOL_PUBID.02 | ||
| e21400r2_205 | YSCH-21400.02.05 | scoder5_6 | NEWSCHOOL_SCHCODE.06 | schidr7_3 | NEWSCHOOL_PUBID.03 | ||
| e21400r2_301 | YSCH-21400.03.01 | lftsc2r5_2 | NEWSCHOOL_LEFT2.02 | schidr7_4 | NEWSCHOOL_PUBID.04 | ||
| e21400r2_302 | YSCH-21400.03.02 | lftsc2r5_3 | NEWSCHOOL_LEFT2.03 | schidr7_5 | NEWSCHOOL_PUBID.05 | ||
| e21400r2_303 | YSCH-21400.03.03 | e21300r5_101 | YSCH-21300.01.01 | ||||
| e21400r2_304 | YSCH-21400.03.04 | e21300r5_102 | YSCH-21300.01.02 | Round 8 | |||
| e21400r2_305 | YSCH-21400.03.05 | e21300r5_103 | YSCH-21300.01.03 | doicmr8 | CV_INTERVIEW_CMONTH | ||
| e21400r2_401 | YSCH-21400.04.01 | e21300r5_104 | YSCH-21300.01.04 | intmr8 | CV_INTERVIEW_DATE~M | ||
| e21400r2_501 | YSCH-21400.05.01 | e21300r5_105 | YSCH-21300.01.05 | intyr8 | CV_INTERVIEW_DATE~Y | ||
| schidr2_1 | NEWSCHOOL_PUBID.01 | e21300r5_106 | YSCH-21300.01.06 | e3113r8 | YSCH-3113 | ||
| schidr2_2 | NEWSCHOOL_PUBID.02 | e21300r5_107 | YSCH-21300.01.07 | e11700r8 | YSCH-11700 | ||
| schidr2_3 | NEWSCHOOL_PUBID.03 | e21300r5_201 | YSCH-21300.02.01 | e11900mr8 | YSCH-11900~M | ||
| schidr2_4 | NEWSCHOOL_PUBID.04 | e21300r5_202 | YSCH-21300.02.02 | e11900yr8 | YSCH-11900~Y | ||
| schidr2_5 | NEWSCHOOL_PUBID.05 | e21300r5_203 | YSCH-21300.02.03 | e13300r8 | YSCH-13300 | ||
| schidr2_6 | NEWSCHOOL_PUBID.06 | e21300r5_204 | YSCH-21300.02.04 | e13500mr8 | YSCH-13500~M | ||
| e21300r5_205 | YSCH-21300.02.05 | e13500yr8 | YSCH-13500~Y | ||||
| Round 3 | e21300r5_206 | YSCH-21300.02.06 | e24685r8 | YSCH-24685 | |||
| gdr3 | CV_GED | e21300r5_207 | YSCH-21300.02.07 | e27337r8_1 | YSCH-27337.01 | ||
| hsr3 | CV_HS_DIPLOMA | e21300r5_301 | YSCH-21300.03.01 | e27337r8_2 | YSCH-27337.02 | ||
| aar3 | CV_AA_DEGREE | e21300r5_302 | YSCH-21300.03.02 | e27337r8_3 | YSCH-27337.03 | ||
| bar3 | CV_BA_DEGREE | e21300r5_303 | YSCH-21300.03.03 | e27337r8_4 | YSCH-27337.04 | ||
| doicmr3 | CV_INTERVIEW_CMONTH | e21300r5_304 | YSCH-21300.03.04 | e27337r8_5 | YSCH-27337.05 | ||
| intdr3 | CV_INTERVIEW_DATE~D | e21300r5_401 | YSCH-21300.04.01 | e21300r8_101 | YSCH-21300.01.01 | ||
| intmr3 | CV_INTERVIEW_DATE~M | e21300r5_501 | YSCH-21300.05.01 | e21300r8_102 | YSCH-21300.01.02 | ||
| intyr3 | CV_INTERVIEW_DATE~Y | e21300r5_502 | YSCH-21300.05.02 | e21300r8_103 | YSCH-21300.01.03 | ||
| e27337r3_1 | YSCH-27337.01 | e21300r5_601 | YSCH-21300.06.01 | e21300r8_104 | YSCH-21300.01.04 | ||
| e27337r3_2 | YSCH-27337.02 | e21400r5_101 | YSCH-21400.01.01 | e21300r8_105 | YSCH-21300.01.05 | ||
| e27337r3_3 | YSCH-27337.03 | e21400r5_102 | YSCH-21400.01.02 | e21300r8_106 | YSCH-21300.01.06 | ||
| e27337r3_4 | YSCH-27337.04 | e21400r5_103 | YSCH-21400.01.03 | e21300r8_107 | YSCH-21300.01.07 | ||
| e27337r3_5 | YSCH-27337.05 | e21400r5_104 | YSCH-21400.01.04 | e21300r8_108 | YSCH-21300.01.08 | ||
| e23450r3_1 | YSCH-23450.01 | e21400r5_105 | YSCH-21400.01.05 | e21300r8_109 | YSCH-21300.01.09 | ||
| e23450r3_2 | YSCH-23450.02 | e21400r5_106 | YSCH-21400.01.06 | e21300r8_110 | YSCH-21300.01.10 | ||
| e23450r3_3 | YSCH-23450.03 | e21400r5_107 | YSCH-21400.01.07 | e21300r8_111 | YSCH-21300.01.11 | ||
| stopmr3_11 | NEWSCHOOL_STOP1.01~M | e21400r5_201 | YSCH-21400.02.01 | e21300r8_112 | YSCH-21300.01.12 | ||
| stopyr3_11 | NEWSCHOOL_STOP1.01~Y | e21400r5_202 | YSCH-21400.02.02 | e21300r8_113 | YSCH-21300.01.13 | ||
| stopmr3_12 | NEWSCHOOL_STOP1.02~M | e21400r5_203 | YSCH-21400.02.03 | e21300r8_201 | YSCH-21300.02.01 | ||
| stopyr3_12 | NEWSCHOOL_STOP1.02~Y | e21400r5_204 | YSCH-21400.02.04 | e21300r8_202 | YSCH-21300.02.02 | ||
| stopmr3_13 | NEWSCHOOL_STOP1.03~M | e21400r5_205 | YSCH-21400.02.05 | e21300r8_203 | YSCH-21300.02.03 | ||
| stopyr3_13 | NEWSCHOOL_STOP1.03~Y | e21400r5_206 | YSCH-21400.02.06 | e21300r8_204 | YSCH-21300.02.04 | ||
| stopmr3_14 | NEWSCHOOL_STOP1.04~M | e21400r5_207 | YSCH-21400.02.07 | e21300r8_205 | YSCH-21300.02.05 | ||
| stopyr3_14 | NEWSCHOOL_STOP1.04~Y | e21400r5_301 | YSCH-21400.03.01 | e21300r8_206 | YSCH-21300.02.06 | ||
| stopmr3_15 | NEWSCHOOL_STOP1.05~M | e21400r5_302 | YSCH-21400.03.02 | e21300r8_207 | YSCH-21300.02.07 | ||
| stopyr3_15 | NEWSCHOOL_STOP1.05~Y | e21400r5_303 | YSCH-21400.03.03 | e21300r8_208 | YSCH-21300.02.08 | ||
| stopmr3_16 | NEWSCHOOL_STOP1.06~M | e21400r5_401 | YSCH-21400.04.01 | e21300r8_301 | YSCH-21300.03.01 | ||
| stopyr3_16 | NEWSCHOOL_STOP1.06~Y | e21400r5_501 | YSCH-21400.05.01 | e21300r8_302 | YSCH-21300.03.02 | ||
| stopmr3_17 | NEWSCHOOL_STOP1.07~M | e21400r5_502 | YSCH-21400.05.02 | e21300r8_303 | YSCH-21300.03.03 | ||
| stopyr3_17 | NEWSCHOOL_STOP1.07~Y | e21400r5_601 | YSCH-21400.06.01 | e21300r8_304 | YSCH-21300.03.04 | ||
| stopmr3_21 | NEWSCHOOL_STOP2.01~M | schidr5_1 | NEWSCHOOL_PUBID.01 | e21300r8_305 | YSCH-21300.03.05 | ||
| stopyr3_21 | NEWSCHOOL_STOP2.01~Y | schidr5_2 | NEWSCHOOL_PUBID.02 | e21300r8_401 | YSCH-21300.04.01 | ||
| stopmr3_22 | NEWSCHOOL_STOP2.02~M | schidr5_3 | NEWSCHOOL_PUBID.03 | e21400r8_101 | YSCH-21400.01.01 | ||
| stopyr3_22 | NEWSCHOOL_STOP2.02~Y | schidr5_4 | NEWSCHOOL_PUBID.04 | e21400r8_102 | YSCH-21400.01.02 | ||
| stopmr3_23 | NEWSCHOOL_STOP2.03~M | schidr5_5 | NEWSCHOOL_PUBID.05 | e21400r8_103 | YSCH-21400.01.03 | ||
| stopyr3_23 | NEWSCHOOL_STOP2.03~Y | schidr5_6 | NEWSCHOOL_PUBID.06 | e21400r8_104 | YSCH-21400.01.04 | ||
| stopmr3_24 | NEWSCHOOL_STOP2.04~M | e21400r8_105 | YSCH-21400.01.05 | ||||
| stopyr3_24 | NEWSCHOOL_STOP2.04~Y | Round 6 | e21400r8_106 | YSCH-21400.01.06 | |||
| stopmr3_31 | NEWSCHOOL_STOP3.01~M | gdr6 | CV_GED | e21400r8_107 | YSCH-21400.01.07 | ||
| stopyr3_31 | NEWSCHOOL_STOP3.01~Y | hsr6 | CV_HS_DIPLOMA | e21400r8_108 | YSCH-21400.01.08 | ||
| stopmr3_32 | NEWSCHOOL_STOP3.02~M | aar6 | CV_AA_DEGREE | e21400r8_109 | YSCH-21400.01.09 | ||
| stopyr3_32 | NEWSCHOOL_STOP3.02~Y | bar6 | CV_BA_DEGREE | e21400r8_110 | YSCH-21400.01.10 | ||
| scoder3_1 | NEWSCHOOL_SCHCODE.01 | mar6 | CV_MA_DEGREE | e21400r8_111 | YSCH-21400.01.11 | ||
| scoder3_2 | NEWSCHOOL_SCHCODE.02 | doicmr6 | CV_INTERVIEW_CMONTH | e21400r8_112 | YSCH-21400.01.12 | ||
| scoder3_3 | NEWSCHOOL_SCHCODE.03 | intdr6 | CV_INTERVIEW_DATE~D | e21400r8_113 | YSCH-21400.01.13 | ||
| scoder3_4 | NEWSCHOOL_SCHCODE.04 | intmr6 | CV_INTERVIEW_DATE~M | e21400r8_201 | YSCH-21400.02.01 | ||
| scoder3_5 | NEWSCHOOL_SCHCODE.05 | intyr6 | CV_INTERVIEW_DATE~Y | e21400r8_202 | YSCH-21400.02.02 | ||
| scoder3_6 | NEWSCHOOL_SCHCODE.06 | e27337r6_1 | YSCH-27337.01 | e21400r8_203 | YSCH-21400.02.03 | ||
| scoder3_7 | NEWSCHOOL_SCHCODE.07 | e27337r6_2 | YSCH-27337.02 | e21400r8_204 | YSCH-21400.02.04 | ||
| lftscr3_1 | NEWSCHOOL_LEFT.01 | e27337r6_3 | YSCH-27337.03 | e21400r8_205 | YSCH-21400.02.05 | ||
| lftscr3_2 | NEWSCHOOL_LEFT.02 | e27337r6_4 | YSCH-27337.04 | e21400r8_206 | YSCH-21400.02.06 | ||
| lftscr3_3 | NEWSCHOOL_LEFT.03 | e27337r6_5 | YSCH-27337.05 | e21400r8_207 | YSCH-21400.02.07 | ||
| lftscr3_4 | NEWSCHOOL_LEFT.04 | e23450r6_1 | YSCH-23450.01 | e21400r8_208 | YSCH-21400.02.08 | ||
| lftscr3_5 | NEWSCHOOL_LEFT.05 | e23450r6_2 | YSCH-23450.02 | e21400r8_301 | YSCH-21400.03.01 | ||
| lftscr3_6 | NEWSCHOOL_LEFT.06 | e23450r6_3 | YSCH-23450.03 | e21400r8_302 | YSCH-21400.03.02 | ||
| lftscr3_7 | NEWSCHOOL_LEFT.07 | e23450r6_5 | YSCH-23450.05 | e21400r8_303 | YSCH-21400.03.03 | ||
| lftsc2r3_1 | NEWSCHOOL_LEFT2.01 | lftscr6_1 | NEWSCHOOL_LEFT.01 | e21400r8_304 | YSCH-21400.03.04 | ||
| lftsc2r2_2 | NEWSCHOOL_LEFT2.02 | lftscr6_2 | NEWSCHOOL_LEFT.02 | e21400r8_305 | YSCH-21400.03.05 | ||
| e21300r3_101 | YSCH-21300.01.01 | lftscr6_3 | NEWSCHOOL_LEFT.03 | e23450r8_1 | YSCH-23450.01 | ||
| e21300r3_102 | YSCH-21300.01.02 | lftscr6_4 | NEWSCHOOL_LEFT.04 | e23450r8_2 | YSCH-23450.02 | ||
| e21300r3_103 | YSCH-21300.01.03 | scoder6_1 | NEWSCHOOL_SCHCODE.01 | e23450r8_3 | YSCH-23450.03 | ||
| e21300r3_104 | YSCH-21300.01.04 | scoder6_2 | NEWSCHOOL_SCHCODE.02 | e23460mr8_1 | YSCH-23460.01~M | ||
| e21300r3_105 | YSCH-21300.01.05 | scoder6_3 | NEWSCHOOL_SCHCODE.03 | e23460yr8_1 | YSCH-23460.01~Y | ||
| e21300r3_201 | YSCH-21300.02.01 | scoder6_4 | NEWSCHOOL_SCHCODE.04 | e23460mr8_2 | YSCH-23460.02~M | ||
| e21300r3_202 | YSCH-21300.02.02 | stopmr6_11 | NEWSCHOOL_STOP1.01~M | e23460yr8_2 | YSCH-23460.02~Y | ||
| e21300r3_203 | YSCH-21300.02.03 | stopyr6_11 | NEWSCHOOL_STOP1.01~Y | e7000r8_1 | YSCH-7000.01 | ||
| e21300r3_204 | YSCH-21300.02.04 | stopmr6_12 | NEWSCHOOL_STOP1.02~M | e7000r8_2 | YSCH-7000.02 | ||
| e21300r3_205 | YSCH-21300.02.05 | stopyr6_12 | NEWSCHOOL_STOP1.02~Y | e7000r8_3 | YSCH-7000.03 | ||
| e21300r3_301 | YSCH-21300.03.01 | stopmr6_13 | NEWSCHOOL_STOP1.03~M | e7000r8_4 | YSCH-7000.04 | ||
| e21300r3_302 | YSCH-21300.03.02 | stopyr6_13 | NEWSCHOOL_STOP1.03~Y | e7050r8_1 | YSCH-7050.01 | ||
| e21300r3_303 | `YSCH-21300.03.03 | stopmr6_14 | NEWSCHOOL_STOP1.04~M | e7050r8_2 | YSCH-7050.02 | ||
| e21300r3_401 | YSCH-21300.04.01 | stopyr6_14 | NEWSCHOOL_STOP1.04~Y | e7050r8_3 | YSCH-7050.03 | ||
| e21400r3_101 | YSCH-21400.01.01 | stopmr6_21 | NEWSCHOOL_STOP2.01~M | e7050r8_4 | YSCH-7050.04 | ||
| e21400r3_102 | YSCH-21400.01.02 | stopyr6_21 | NEWSCHOOL_STOP2.01~Y | e7100mr8_1 | YSCH-7100.01~M | ||
| e21400r3_103 | YSCH-21400.01.03 | stopmr6_22 | NEWSCHOOL_STOP2.02~M | e7100yr8_1 | YSCH-7100.01~Y | ||
| e21400r3_104 | YSCH-21400.01.04 | stopyr6_22 | NEWSCHOOL_STOP2.02~Y | e7100mr8_2 | YSCH-7100.02~M | ||
| e21400r3_105 | YSCH-21400.01.05 | stopmr6_23 | NEWSCHOOL_STOP2.03~M | e7100yr8_2 | YSCH-7100.02~Y | ||
| e21400r3_201 | YSCH-21400.02.01 | stopyr6_23 | NEWSCHOOL_STOP2.03~Y | e7100mr8_3 | YSCH-7100.03~M | ||
| e21400r3_202 | YSCH-21400.02.02 | e21300r6_101 | YSCH-21300.01.01 | e7100yr8_3 | YSCH-7100.03~Y | ||
| e21400r3_203 | YSCH-21400.02.03 | e21300r6_102 | YSCH-21300.01.02 | e7100mr8_4 | YSCH-7100.04~M | ||
| e21400r3_204 | YSCH-21400.02.04 | e21300r6_103 | YSCH-21300.01.03 | e7100yr8_4 | YSCH-7100.04~Y | ||
| e21400r3_205 | YSCH-21400.02.05 | e21300r6_104 | YSCH-21300.01.04 | t7000r8_1 | YTRN-7000.01 | ||
| e21400r3_301 | YSCH-21400.03.01 | e21300r6_105 | YSCH-21300.01.05 | t7000r8_2 | YTRN-7000.02 | ||
| e21400r3_302 | YSCH-21400.03.02 | e21300r6_106 | YSCH-21300.01.06 | t7000r8_3 | YTRN-7000.03 | ||
| e21400r3_303 | YSCH-21400.03.03 | e21300r6_107 | YSCH-21300.01.07 | t7000r8_4 | YTRN-7000.04 | ||
| e21400r3_401 | YSCH-21400.04.01 | e21300r6_108 | YSCH-21300.01.08 | t7000r8_5 | YTRN-7000.05 | ||
| schidr3_1 | NEWSCHOOL_PUBID.01 | e21300r6_109 | YSCH-21300.01.09 | t7000r8_6 | YTRN-7000.06 | ||
| schidr3_2 | NEWSCHOOL_PUBID.02 | e21300r6_110 | YSCH-21300.01.10 | t7000r8_7 | YTRN-7000.07 | ||
| schidr3_3 | NEWSCHOOL_PUBID.03 | e21300r6_111 | YSCH-21300.01.11 | PUBID | PUBID | ||
| schidr3_4 | NEWSCHOOL_PUBID.04 | e21300r6_201 | YSCH-21300.02.01 | lftscr8_1 | NEWSCHOOL_LEFT.01 | ||
| schidr3_5 | NEWSCHOOL_PUBID.05 | e21300r6_202 | YSCH-21300.02.02 | lftscr8_2 | NEWSCHOOL_LEFT.02 | ||
| schidr3_6 | NEWSCHOOL_PUBID.06 | e21300r6_203 | YSCH-21300.02.03 | lftscr8_3 | NEWSCHOOL_LEFT.03 | ||
| schidr3_7 | NEWSCHOOL_PUBID.07 | e21300r6_204 | YSCH-21300.02.04 | lftscr8_4 | NEWSCHOOL_LEFT.04 | ||
| e21300r6_205 | YSCH-21300.02.05 | lftscr8_5 | NEWSCHOOL_LEFT.05 | ||||
| Round 4 | e21300r6_206 | YSCH-21300.02.06 | scoder8_1 | NEWSCHOOL_SCHCODE.01 | |||
| gdr4 | CV_GED | e21300r6_207 | YSCH-21300.02.07 | scoder8_2 | NEWSCHOOL_SCHCODE.02 | ||
| hsr4 | CV_HS_DIPLOMA | e21300r6_208 | YSCH-21300.02.08 | scoder8_3 | NEWSCHOOL_SCHCODE.03 | ||
| aar4 | CV_AA_DEGREE | e21300r6_209 | YSCH-21300.02.09 | scoder8_4 | NEWSCHOOL_SCHCODE.04 | ||
| bar4 | CV_BA_DEGREE | e21300r6_210 | YSCH-21300.02.10 | scoder8_5 | NEWSCHOOL_SCHCODE.05 | ||
| doicmr4 | CV_INTERVIEW_CMONTH | e21300r6_211 | YSCH-21300.02.11 | strtmr8_11 | NEWSCHOOL_START1.01~M | ||
| intdr4 | CV_INTERVIEW_DATE~D | e21300r6_212 | YSCH-21300.02.12 | strtyr8_11 | NEWSCHOOL_START1.01~Y | ||
| intmr4 | CV_INTERVIEW_DATE~M | e21300r6_301 | YSCH-21300.03.01 | strtmr8_12 | NEWSCHOOL_START1.02~M | ||
| intyr4 | CV_INTERVIEW_DATE~Y | e21300r6_302 | YSCH-21300.03.02 | strtyr8_12 | NEWSCHOOL_START1.02~Y | ||
| e27337r4_1 | YSCH-27337.01 | e21300r6_303 | YSCH-21300.03.03 | strtmr8_13 | NEWSCHOOL_START1.03~M | ||
| e27337r4_2 | YSCH-27337.02 | e21300r6_304 | YSCH-21300.03.04 | strtyr8_13 | NEWSCHOOL_START1.03~Y | ||
| e27337r4_3 | YSCH-27337.03 | e21300r6_401 | YSCH-21300.04.01 | strtmr8_14 | NEWSCHOOL_START1.04~M | ||
| e27337r4_4 | YSCH-27337.04 | e21300r6_402 | YSCH-21300.04.02 | strtyr8_14 | NEWSCHOOL_START1.04~Y | ||
| e23450r4_1 | YSCH-23450.01 | e21300r6_403 | YSCH-21300.04.03 | strtmr8_15 | NEWSCHOOL_START1.05~M | ||
| e23450r4_2 | YSCH-23450.02 | e21300r6_501 | YSCH-21300.05.01 | strtyr8_15 | NEWSCHOOL_START1.05~Y | ||
| e23450r4_3 | YSCH-23450.03 | e21400r6_101 | YSCH-21400.01.01 | stopmr8_11 | NEWSCHOOL_STOP1.01~M | ||
| lftscr4_1 | NEWSCHOOL_LEFT.01 | e21400r6_102 | YSCH-21400.01.02 | stopyr8_11 | NEWSCHOOL_STOP1.01~Y | ||
| lftscr4_2 | NEWSCHOOL_LEFT.02 | e21400r6_103 | YSCH-21400.01.03 | stopmr8_12 | NEWSCHOOL_STOP1.02~M | ||
| lftscr4_3 | NEWSCHOOL_LEFT.03 | e21400r6_104 | YSCH-21400.01.04 | stopyr8_12 | NEWSCHOOL_STOP1.02~Y | ||
| lftscr4_4 | NEWSCHOOL_LEFT.04 | e21400r6_105 | YSCH-21400.01.05 | stopmr8_13 | NEWSCHOOL_STOP1.03~M | ||
| lftscr4_5 | NEWSCHOOL_LEFT.05 | e21400r6_106 | YSCH-21400.01.06 | stopyr8_13 | NEWSCHOOL_STOP1.03~Y | ||
| stopmr4_11 | NEWSCHOOL_STOP1.01~M | e21400r6_107 | YSCH-21400.01.07 | stopmr8_14 | NEWSCHOOL_STOP1.04~M | ||
| stopyr4_11 | NEWSCHOOL_STOP1.01~Y | e21400r6_108 | YSCH-21400.01.08 | stopyr8_14 | NEWSCHOOL_STOP1.04~Y | ||
| stopmr4_12 | NEWSCHOOL_STOP1.02~M | e21400r6_109 | YSCH-21400.01.09 | stopmr8_15 | NEWSCHOOL_STOP1.05~M | ||
| stopyr4_12 | NEWSCHOOL_STOP1.02~Y | e21400r6_110 | YSCH-21400.01.10 | stopyr8_15 | NEWSCHOOL_STOP1.05~Y | ||
| stopmr4_13 | NEWSCHOOL_STOP1.03~M | e21400r6_111 | YSCH-21400.01.11 | strtmr8_21 | NEWSCHOOL_START2.01~M | ||
| stopyr4_13 | NEWSCHOOL_STOP1.03~Y | e21400r6_201 | YSCH-21400.02.01 | strtyr8_21 | NEWSCHOOL_START2.01~Y | ||
| stopmr4_14 | NEWSCHOOL_STOP1.04~M | e21400r6_202 | YSCH-21400.02.02 | strtmr8_22 | NEWSCHOOL_START2.02~M | ||
| stopyr4_14 | NEWSCHOOL_STOP1.04~Y | e21400r6_203 | YSCH-21400.02.03 | strtyr8_22 | NEWSCHOOL_START2.02~Y | ||
| stopmr4_15 | NEWSCHOOL_STOP1.05~M | e21400r6_204 | YSCH-21400.02.04 | strtmr8_23 | NEWSCHOOL_START2.03~M | ||
| stopyr4_15 | NEWSCHOOL_STOP1.05~Y | e21400r6_205 | YSCH-21400.02.05 | strtyr8_23 | NEWSCHOOL_START2.03~Y | ||
| stopmr4_21 | NEWSCHOOL_STOP2.01~M | e21400r6_206 | YSCH-21400.02.06 | stopmr8_21 | NEWSCHOOL_STOP2.01~M | ||
| stopyr4_21 | NEWSCHOOL_STOP2.01~Y | e21400r6_207 | YSCH-21400.02.07 | stopyr8_21 | NEWSCHOOL_STOP2.01~Y | ||
| stopmr4_22 | NEWSCHOOL_STOP2.02~M | e21400r6_208 | YSCH-21400.02.08 | stopmr8_22 | NEWSCHOOL_STOP2.02~M | ||
| stopyr4_22 | NEWSCHOOL_STOP2.02~Y | e21400r6_209 | YSCH-21400.02.09 | stopyr8_22 | NEWSCHOOL_STOP2.02~Y | ||
| stopmr4_23 | NEWSCHOOL_STOP2.03~M | e21400r6_210 | YSCH-21400.02.10 | strtmr8_31 | NEWSCHOOL_START3.01~M | ||
| stopyr4_23 | NEWSCHOOL_STOP2.03~Y | e21400r6_211 | YSCH-21400.02.11 | strtyr8_31 | NEWSCHOOL_START3.01~Y | ||
| scoder4_1 | NEWSCHOOL_SCHCODE.01 | e21400r6_212 | YSCH-21400.02.12 | strtmr8_32 | NEWSCHOOL_START3.02~M | ||
| scoder4_2 | NEWSCHOOL_SCHCODE.02 | e21400r6_301 | YSCH-21400.03.01 | strtyr8_32 | NEWSCHOOL_START3.02~Y | ||
| scoder4_3 | NEWSCHOOL_SCHCODE.03 | e21400r6_302 | YSCH-21400.03.02 | stopmr8_31 | NEWSCHOOL_STOP3.01~M | ||
| scoder4_4 | NEWSCHOOL_SCHCODE.04 | e21400r6_303 | YSCH-21400.03.03 | stopyr8_31 | NEWSCHOOL_STOP3.01~Y | ||
| scoder4_5 | NEWSCHOOL_SCHCODE.05 | e21400r6_401 | YSCH-21400.04.01 | stopmr8_32 | NEWSCHOOL_STOP3.02~M | ||
| lftsc2r4_1 | NEWSCHOOL_LEFT2.01 | e21400r6_402 | YSCH-21400.04.02 | stopyr8_32 | NEWSCHOOL_STOP3.02~Y | ||
| lftsc2r4_2 | NEWSCHOOL_LEFT2.02 | e21400r6_403 | YSCH-21400.04.03 | schidr8_1 | NEWSCHOOL_PUBID.01 | ||
| e21300r4_101 | YSCH-21300.01.01 | schidr6_1 | NEWSCHOOL_PUBID.01 | schidr8_2 | NEWSCHOOL_PUBID.02 | ||
| e21300r4_102 | YSCH-21300.01.02 | schidr6_2 | NEWSCHOOL_PUBID.02 | schidr8_3 | NEWSCHOOL_PUBID.03 | ||
| e21300r4_103 | YSCH-21300.01.03 | schidr6_3 | NEWSCHOOL_PUBID.03 | schidr8_4 | NEWSCHOOL_PUBID.04 | ||
| e21300r4_104 | YSCH-21300.01.04 | schidr6_4 | NEWSCHOOL_PUBID.04 | schidr8_5 | NEWSCHOOL_PUBID.05 |
This program creates the variables that indicate the dates on which the youth received GED, High School Diploma, Associate Degree, Bachelor's Degree, Master's Degree, Doctoral Degree and Professional Degree from NLSY97 round 8 (2004). The dates will be calculated as the number of accumulated months from 1980. Also, the program will check if there is some conflict in these answers between round 8 and earlier rounds.
Descriptions of the variables created are the following:
CDTGD Date that the respondent received GED.
CDTHS Date that the respondent received the high school diploma
CDTAA Date that the respondent received associate degree.
CDTBA Date that the respondent received Bachelor's degree.
CDTMA Date that the respondent received Master's degree.
CDTDC Date that the respondent received doctoral degree.
CDTPF Date that the respondent received professional degree.
Note: If there are two or more valid but different dates for a degree receipt
then we take the date reported in the earlier round as that would have been
closer to the actual date.
Note: If R attends college without a High School diploma or GED then R is asked
for an explanation in question, YSCH-13900. If R reports receiving a HS diploma
or GED but gives no date of receipt then give corresponding date of degree
received as -3.
***** Create dataset for those not interviewed in current round.;
data nonint; set merged;
if e11700r8=-5;
CDTGD=-5; CDTHS=-5; CDTAA=-5; CDTBA=-5; CDTMA=-5; CDTDC=-5; CDTPF=-5;
hgdegr8=-5;
data nonint; set nonint; proc sort; by pubid;
***** Create dataset for those interviewed in current round.;
data int; set merged;
if e11700r8~=-5;
*** Define all arrays to be used in this program:;
array CR1 (7) gdr1 hsr1 aar1 bar1 mar1 dcr1 pfr1;
array CR2 (7) gdr2 hsr2 aar2 bar2 mar2 dcr2 pfr2;
array CR3 (7) gdr3 hsr3 aar3 bar3 mar3 dcr3 pfr3;
array CR4 (7) gdr4 hsr4 aar4 bar4 mar4 dcr4 pfr4;
array CR5 (7) gdr5 hsr5 aar5 bar5 mar5 dcr5 pfr5;
array CR6 (7) gdr6 hsr6 aar6 bar6 mar6 dcr6 pfr6;
array CR7 (7) gdr7 hsr7 aar7 bar7 mar7 dcr7 pfr7;
array CRP (7) gdrP hsrP aarP barP marP dcrP pfrP;
array CRC (7) gdrC hsrC aarC barC marC dcrC pfrC;
array CDT (7) CDTGD CDTHS CDTAA CDTBA CDTMA CDTDC CDTPF;
array YDT (7) ydtGD ydtHS ydtAA ydtBA ydtMA ydtDC ydtPF;
array HED (7) hedGD hedHS hedAA hedBA hedMA hedDC hedPF;
array FLG (7) flgGD flgHS flgAA flgBA flgMA flgDC flgPF;
array QUX (7) quxGD quxHS quxAA quxBA quxMA quxDC quxPF;
array DEG (7) degGD degHS degAA degBA degMA degDC degPF;
array TMPDG (5) TMPDG1-TMPDG5;
array e27388r8 (5) e27388r8_1-e27388r8_5;
array e23400r8 (5) e23400r8_1-e23400r8_5;
array e23460mr8 (5) e23460mr8_1-e23460mr8_5;
array e23460yr8 (5) e23460yr8_1-e23460yr8_5;
array t7000r8 (7) t7000r8_1-t7000r8_7;
array scoder1 (2) scoder1_1-scoder1_2;
array scoder2 (6) scoder2_1-scoder2_6;
array scoder3 (7) scoder3_1-scoder3_7;
array scoder4 (5) scoder4_1-scoder4_5;
array scoder5 (6) scoder5_1-scoder5_6;
array scoder6 (5) scoder6_1-scoder6_5;
array scoder7 (5) scoder7_1-scoder7_5;
array scoder8 (5) scoder8_1-scoder8_5;
array lftscr1 (2) lftscr1_1-lftscr1_2;
array lftscr2 (6) lftscr2_1-lftscr2_6;
array lftscr3 (7) lftscr3_1-lftscr3_7;
array lftscr4 (5) lftscr4_1-lftscr4_5;
array lftscr5 (6) lftscr5_1-lftscr5_6;
array lftscr6 (5) lftscr6_1-lftscr6_5;
array lftscr7 (5) lftscr7_1-lftscr7_5;
array lftscr8 (5) lftscr8_1-lftscr8_5;
array lftsc2r2 (6) lftsc2r2_1-lftsc2r2_6;
array lftsc2r3 (7) lftsc2r3_1-lftsc2r3_7;
array lftsc2r4 (5) lftsc2r4_1-lftsc2r4_5;
array lftsc2r5 (6) lftsc2r5_1-lftsc2r5_6;
array lftsc2r6 (5) lftsc2r6_1-lftsc2r6_5;
array lftsc2r7 (5) lftsc2r7_1-lftsc2r7_5;
array lftsc2r8 (5) lftsc2r8_1-lftsc2r8_5;
array e27337r2 (6) e27337r2_1-e27337r2_6;
array e27337r3 (7) e27337r3_1-e27337r3_7;
array e27337r4 (5) e27337r4_1-e27337r4_5;
array e27337r5 (6) e27337r5_1-e27337r5_6;
array e27337r6 (5) e27337r6_1-e27337r6_5;
array e27337r7 (5) e27337r7_1-e27337r7_5;
array e27337r8 (5) e27337r8_1-e27337r8_5;
array e23450r2 (6) e23450r2_1-e23450r2_6;
array e23450r3 (7) e23450r3_1-e23450r3_7;
array e23450r4 (5) e23450r4_1-e23450r4_5;
array e23450r5 (6) e23450r5_1-e23450r5_6;
array e23450r6 (5) e23450r6_1-e23450r6_5;
array e23450r7 (5) e23450r7_1-e23450r7_5;
array e23450r8 (5) e23450r8_1-e23450r8_5;
array schidr1 (2) schidr1_1-schidr1_2;
array schidr2 (6) schidr2_1-schidr2_6;
array schidr3 (7) schidr3_1-schidr3_7;
array schidr4 (5) schidr4_1-schidr4_5;
array schidr5 (6) schidr5_1-schidr5_6;
array schidr6 (5) schidr6_1-schidr6_5;
array schidr7 (5) schidr7_1-schidr7_5;
array schidr8 (5) schidr8_1-schidr8_5;
array major1 (*) e21300r1_101 e21400r1_101;
array major21 (*) e21300r2_101-e21300r2_105 e21400r2_101-e21400r2_105;
array major22 (*) e21300r2_201-e21300r2_205 e21400r2_201-e21400r2_205;
array major23 (*) e21300r2_301-e21300r2_305 e21400r2_301-e21400r2_305;
array major24 (*) e21300r2_401 e21400r2_401;
array major25 (*) e21300r2_501 e21400r2_501;
array major31 (*) e21300r3_101-e21300r3_105 e21400r3_101-e21400r3_105;
array major32 (*) e21300r3_201-e21300r3_205 e21400r3_201-e21400r3_205;
array major33 (*) e21300r3_301-e21300r3_303 e21400r3_301-e21400r3_303;
array major34 (*) e21300r3_401 e21400r3_401;
array major41 (*) e21300r4_101-e21300r4_108 e21400r4_101-e21400r4_108;
array major42 (*) e21300r4_201-e21300r4_206 e21400r4_201-e21400r4_206;
array major43 (*) e21300r4_301-e21300r4_302 e21400r4_301-e21400r4_302;
array major44 (*) e21300r4_401-e21300r4_402 e21400r4_401-e21400r4_402;
array major51 (*) e21300r5_101-e21300r5_107 e21400r5_101-e21400r5_107;
array major52 (*) e21300r5_201-e21300r5_207 e21400r5_201-e21400r5_207;
array major53 (*) e21300r5_301-e21300r5_304 e21400r5_301-e21400r5_304;
array major54 (*) e21300r5_401 e21400r5_401;
array major55 (*) e21300r5_501-e21300r5_502 e21400r5_501-e21400r5_502;
array major56 (*) e21300r5_601 e21400r5_601;
array major61 (*) e21300r6_101-e21300r6_111 e21400r6_101-e21400r6_111;
array major62 (*) e21300r6_201-e21300r6_212 e21400r6_201-e21400r6_212;
array major63 (*) e21300r6_301-e21300r6_304 e21400r6_301-e21400r6_304;
array major64 (*) e21300r6_401-e21300r6_403 e21400r6_401-e21400r6_403;
array major65 (*) e21300r6_501 e21400r6_501;
array major71 (*) e21300r7_101-e21300r7_109 e21400r7_101-e21400r7_109;
array major72 (*) e21300r7_201-e21300r7_209 e21400r7_201-e21400r7_209;
array major73 (*) e21300r7_301-e21300r7_303 e21400r7_301-e21400r7_303;
array major74 (*) e21300r7_401 e21400r7_401;
array major75 (*) e21300r7_501 e21400r7_501;
array major81 (*) e21300r8_101-e21300r8_113 e21400r8_101-e21400r8_113;
array major82 (*) e21300r8_201-e21300r8_208 e21400r8_201-e21400r8_208;
array major83 (*) e21300r8_301-e21300r8_305 e21400r8_301-e21400r8_305;
array major84 (*) e21300r8_401 e21400r8_401;
array stopmr2 (6,3) stopmr2_11 stopmr2_21 stopmr2_31
stopmr2_12 stopmr2_22 stopmr2_32
stopmr2_13 stopmr2_23 stopmr2_33
stopmr2_14 stopmr2_24 stopmr2_34
stopmr2_15 stopmr2_25 stopmr2_35
stopmr2_16 stopmr2_26 stopmr2_36;
array stopyr2 (6,3) stopyr2_11 stopyr2_21 stopyr2_31
stopyr2_12 stopyr2_22 stopyr2_32
stopyr2_13 stopyr2_23 stopyr2_33
stopyr2_14 stopyr2_24 stopyr2_34
stopyr2_15 stopyr2_25 stopyr2_35
stopyr2_16 stopyr2_26 stopyr2_36;
array stopmr3 (7,3) stopmr3_11 stopmr3_21 stopmr3_31
stopmr3_12 stopmr3_22 stopmr3_32
stopmr3_13 stopmr3_23 stopmr3_33
stopmr3_14 stopmr3_24 stopmr3_34
stopmr3_15 stopmr3_25 stopmr3_35
stopmr3_16 stopmr3_26 stopmr3_36
stopmr3_17 stopmr3_27 stopmr3_37;
array stopyr3 (7,3) stopyr3_11 stopyr3_21 stopyr3_31
stopyr3_12 stopyr3_22 stopyr3_32
stopyr3_13 stopyr3_23 stopyr3_33
stopyr3_14 stopyr3_24 stopyr3_34
stopyr3_15 stopyr3_25 stopyr3_35
stopyr3_16 stopyr3_26 stopyr3_36
stopyr3_17 stopyr3_27 stopyr3_37;
array stopmr4 (5,2) stopmr4_11 stopmr4_21
stopmr4_12 stopmr4_22
stopmr4_13 stopmr4_23
stopmr4_14 stopmr4_24
stopmr4_15 stopmr4_25;
array stopyr4 (5,2) stopyr4_11 stopyr4_21
stopyr4_12 stopyr4_22
stopyr4_13 stopyr4_23
stopyr4_14 stopyr4_24
stopyr4_15 stopyr4_25;
array stopmr5 (6,3) stopmr5_11 stopmr5_21 stopmr5_31
stopmr5_12 stopmr5_22 stopmr5_32
stopmr5_13 stopmr5_23 stopmr5_33
stopmr5_14 stopmr5_24 stopmr5_34
stopmr5_15 stopmr5_25 stopmr5_35
stopmr5_16 stopmr5_26 stopmr5_36;
array stopyr5 (6,3) stopyr5_11 stopyr5_21 stopyr5_31
stopyr5_12 stopyr5_22 stopyr5_32
stopyr5_13 stopyr5_23 stopyr5_33
stopyr5_14 stopyr5_24 stopyr5_34
stopyr5_15 stopyr5_25 stopyr5_35
stopyr5_16 stopyr5_26 stopyr5_36;
array stopmr6 (5,2) stopmr6_11 stopmr6_21
stopmr6_12 stopmr6_22
stopmr6_13 stopmr6_23
stopmr6_14 stopmr6_24
stopmr6_15 stopmr6_25;
array stopyr6 (5,2) stopyr6_11 stopyr6_21
stopyr6_12 stopyr6_22
stopyr6_13 stopyr6_23
stopyr6_14 stopyr6_24
stopyr6_15 stopyr6_25;
array stopmr7 (5,3) stopmr7_11 stopmr7_21 stopmr7_31
stopmr7_12 stopmr7_22 stopmr7_32
stopmr7_13 stopmr7_23 stopmr7_33
stopmr7_14 stopmr7_24 stopmr7_34
stopmr7_15 stopmr7_25 stopmr7_35;
array stopyr7 (5,3) stopyr7_11 stopyr7_21 stopyr7_31
stopyr7_12 stopyr7_22 stopyr7_32
stopyr7_13 stopyr7_23 stopyr7_33
stopyr7_14 stopyr7_24 stopyr7_34
stopyr7_15 stopyr7_25 stopyr7_35;
array stopmr8 (5,3) stopmr8_11 stopmr8_21 stopmr8_31
stopmr8_12 stopmr8_22 stopmr8_32
stopmr8_13 stopmr8_23 stopmr8_33
stopmr8_14 stopmr8_24 stopmr8_34
stopmr8_15 stopmr8_25 stopmr8_35;
array stopyr8 (5,3) stopyr8_11 stopyr8_21 stopyr8_31
stopyr8_12 stopyr8_22 stopyr8_32
stopyr8_13 stopyr8_23 stopyr8_33
stopyr8_14 stopyr8_24 stopyr8_34
stopyr8_15 stopyr8_25 stopyr8_35;
array stopcr2 (6) stopcr2_1-stopcr2_6;
array stopcr3 (7) stopcr3_1-stopcr3_7;
array stopcr4 (5) stopcr4_1-stopcr4_5;
array stopcr5 (6) stopcr5_1-stopcr5_6;
array stopcr6 (5) stopcr6_1-stopcr6_5;
array stopcr7 (5) stopcr7_1-stopcr7_5;
array stopcr8 (5) stopcr8_1-stopcr8_5;
array anymjr1 (2) anymjr1_1-anymjr1_2;
array anymjr2 (6) anymjr2_1-anymjr2_6;
array anymjr3 (7) anymjr3_1-anymjr3_7;
array anymjr4 (5) anymjr4_1-anymjr4_5;
array anymjr5 (6) anymjr5_1-anymjr5_6;
array anymjr6 (5) anymjr6_1-anymjr6_5;
array anymjr7 (5) anymjr7_1-anymjr7_5;
array anymjr8 (5) anymjr8_1-anymjr8_5;
array clgdgr2 (6) clgdgr2_1-clgdgr2_6;
array clgdgr3 (7) clgdgr3_1-clgdgr3_7;
array clgdgr4 (5) clgdgr4_1-clgdgr4_5;
array clgdgr5 (6) clgdgr5_1-clgdgr5_6;
array clgdgr6 (5) clgdgr6_1-clgdgr6_5;
array clgdgr7 (5) clgdgr7_1-clgdgr7_5;
array clgdgr8 (5) clgdgr8_1-clgdgr8_5;
*** Initialize Variables.;
if pubid=7599 then do;
stopmr8_11=11;
handedit=1;
end;
** Create enrollment stop dates in continuous month schemes for all rounds;
do i=1 to dim(stopmr8,1);
do j=1 to dim(stopmr8,2);
if stopmr8(i,j)>0 & stopyr8(i,j)>0 then
stopcr8(i)=((stopyr8(i,j)-1980)*12)+stopmr8(i,j);
if stopmr8(i,j)=-3|stopyr8(i,j)=-3 then stopcr8(i)=-3;
end;
end;
do i=1 to dim(stopmr7,1);
do j=1 to dim(stopmr7,2);
if stopmr7(i,j)>0 & stopyr7(i,j)>0 then
stopcr7(i)=((stopyr7(i,j)-1980)*12)+stopmr7(i,j);
if stopmr7(i,j)=-3|stopyr7(i,j)=-3 then stopcr7(i)=-3;
end;
end;
do i=1 to dim(stopmr6,1);
do j=1 to dim(stopmr6,2);
if stopmr6(i,j)>0 & stopyr6(i,j)>0 then
stopcr6(i)=((stopyr6(i,j)-1980)*12)+stopmr6(i,j);
if stopmr6(i,j)=-3|stopyr6(i,j)=-3 then stopcr6(i)=-3;
end;
end;
do i=1 to dim(stopmr5,1);
do j=1 to dim(stopmr5,2);
if stopmr5(i,j)>0 & stopyr5(i,j)>0 then
stopcr5(i)=((stopyr5(i,j)-1980)*12)+stopmr5(i,j);
if stopmr5(i,j)=-3|stopyr5(i,j)=-3 then stopcr5(i)=-3;
end;
end;
do i=1 to dim(stopmr4,1);
do j=1 to dim(stopmr4,2);
if stopmr4(i,j)>0 & stopyr4(i,j)>0 then
stopcr4(i)=((stopyr4(i,j)-1980)*12)+stopmr4(i,j);
if stopmr4(i,j)=-3|stopyr4(i,j)=-3 then stopcr4(i)=-3;
end;
end;
do i=1 to dim(stopmr3,1);
do j=1 to dim(stopmr3,2);
if stopmr3(i,j)>0 & stopyr3(i,j)>0 then
stopcr3(i)=((stopyr3(i,j)-1980)*12)+stopmr3(i,j);
if stopmr3(i,j)=-3|stopyr3(i,j)=-3 then stopcr3(i)=-3;
end;
end;
do i=1 to dim(stopmr2,1);
do j=1 to dim(stopmr2,2);
if stopmr2(i,j)>0 & stopyr2(i,j)>0 then
stopcr2(i)=((stopyr2(i,j)-1980)*12)+stopmr2(i,j);
if stopmr2(i,j)=-3|stopyr2(i,j)=-3 then stopcr2(i)=-3;
end;
end;
** Set initial values of date of degree received variables to -4. Set all
dummies to 0.;
FLG_13900r8=0; FLG_COMMr8=0;
deg_unknown=0;
ged_trn=0;
do i=1 to 7;
CRC(i)=-4; CDT(i)=-4;
DEG(i)=0; FLG(i)=0; QUX(i)=0; HED(i)=0;
end;
** Set all variables that were not created in earlier rounds (rather were
created but were missing for
all Rs so were not included in the dataset) as -4 and if R was not
interviewed as -5.;
aar1=-4; bar1=-4; mar1=-4; dcr1=-4; pfr1=-4;
aar2=-4; bar2=-4; mar2=-4; dcr2=-4; pfr2=-4;
mar3=-4; dcr3=-4; pfr3=-4;
mar4=-4; dcr4=-4; pfr4=-4;
mar5=-4; dcr5=-4; pfr5=-4;
dcr6=-4; pfr6=-4;
dcr7=-4; pfr7=-4;
if gdr1=-5 then do; aar1=-5; bar1=-5; mar1=-5; dcr1=-5; pfr1=-5; end;
if gdr2=-5 then do; aar2=-5; bar2=-5; mar2=-5; dcr2=-5; pfr2=-5; end;
if gdr3=-5 then do; mar3=-5; dcr3=-5; pfr3=-5; end;
if gdr4=-5 then do; mar4=-5; dcr4=-5; pfr4=-5; end;
if gdr5=-5 then do; mar5=-5; dcr5=-5; pfr5=-5; end;
if gdr6=-5 then do; dcr6=-5; pfr6=-5; end;
if gdr7=-5 then do; dcr7=-5; pfr7=-5; end;
*** Identify the latest date of degree received variables from previous
rounds.;
do i=1 to 7;
if CR7(i)~=-5 then CRP(i)=CR7(i);
if CR7(i)=-5 then do;
if CR6(i)~=-5 then CRP(i)=CR6(i);
if CR6(i)=-5 then do;
if CR5(i)~=-5 then CRP(i)=CR5(i);
if CR5(i)=-5 then do;
if CR4(i)~=-5 then CRP(i)=CR4(i);
if CR4(i)=-5 then do;
if CR3(i)~=-5 then CRP(i)=CR3(i);
if CR3(i)=-5 then do;
if CR2(i)~=-5 then CRP(i)=CR2(i);
if CR2(i)=-5 then do;
CRP(i)=CR1(i);
end;
end;
end;
end;
end;
end;
end;
*** Create the date of degree received variables using information from
current round only
Note: The earlier code would not let a bad date be overwritten with a good
one. So, we changed it.
The old code is at the end of the program.;
** Compute the date of receiving GED.;
if e13300r8=-3 then gdrC=-3;
if e13300r8=1 and gdrC<0 then do;
gdrC=-3;
if e13500mr8>0 and e13500yr8>0 then gdrC=(e13500yr8-1980)*12+e13500mr8;
if e13500mr8 in (-4,0) or e13500yr8 in (-4,0) then quxGD=1;
end;
** Compute the date of receiving HS Diploma.;
if e11700r8=-3 then hsrC=-3;
if e11700r8=1 and hsrC<0 then do;
hsrC=-3;
if e11900mr8>0 and e11900yr8>0 then hsrC=(e11900yr8-1980)*12+e11900mr8;
if e11900mr8 in (-4,0) or e11900yr8 in (-4,0) then quxHS=1;
end;
** Compute the dates of receiving GED, AA, BA/BS, MA/MS/MBA/MSW, Ph.D. and
MS/LLD/DDS/JD.;
do j=1 to dim(TMPDG);
if e23450r8(j)=1 then TMPDG(j)=3; /* Associate/Junior College or two-year
associate degree (AA) */
if e23450r8(j)=3 then TMPDG(j)=4; /* Bachelor's degree (BA, BS or
unspecified) */
if e23450r8(j)=4 then TMPDG(j)=5; /* Master's degree (MA, MBA, MS, MSW) */
if e23450r8(j)=5 then TMPDG(j)=6; /* Doctoral Degree (Ph.D.) */
if e23450r8(j)=6 then TMPDG(j)=7; /* Professional Degree (MD, LLD, DDS, JD)
*/
if e23450r8(j)=9 then TMPDG(j)=2; /* GED */
end;
do j=1 to dim(TMPDG);
do i=2 to 7;
if TMPDG(j)=i and CRC(i)<0 then do;
CRC(i)=-3;
if e23460mr8(j)>0 & e23460yr8(j)>0 then CRC(i)=(e23460yr8(j)-1980)*12+e23460mr8(j);
if e23460mr8(j) in (-4,0) | e23460yr8(j) in (-4,0) then QUX(i)=1;
end;
end;
if e23450r8(j) in (8,999,-1,-2,-3) then deg_unknown=1;
end;
** Compute the date of receiving GED if respondent completes GED in a
training program. Set the date
to -3 because we don't know completion date. Do not, however, overwrite a
good date.;
do k=1 to dim(t7000r8);
if GDRC=-4 and t7000r8(k)=4 then do;
GDRC=-3;
ged_trn=1;
end;
end;
do i=1 to dim(scoder8);
if e23450r8(i)<=0 & lftscr8(i)=1 & scoder8(i) in (4,5) & e27337r8(i) in
(1,3,4,5,6,10) then do;
if e3113r8=4 & aarC=-4 then chkdg1=1;
if e3113r8=5 & barC=-4 then chkdg1=2;
if e3113r8=6 & marC=-4 then chkdg1=3;
if e3113r8=7 & dcrC=-4 then chkdg1=4;
if e3113r8=8 & pfrC=-4 then chkdg1=5;
end;
end;
** Compute dummy for whether had decided on a major at the college.
Sometimes when R reports being
enrolled in a college and that is a continuing college from DLI information
for the major and other
college specific information is not collected (either because of quex
problems or because R did not
complete the current term). In such cases we match the that college to a
college reported in DLI
and use the major reported for that college.;
** Round 1;
do i=1 to dim(major1);
if major1(i) in (0,98) & anymjr1_1~=1 then anymjr1_1=0;
if major1(i)>0 & anymjr1_1~=98 then anymjr1_1=1;
end;
** Round 2;
do i=1 to dim(major21); if major21(i) in (0,98) & anymjr2_1~=1 then
anymjr2_1=0; if major21(i)>0 & anymjr2_1~=98 then anymjr2_1=1; end;
do i=1 to dim(major22); if major22(i) in (0,98) & anymjr2_2~=1 then
anymjr2_2=0; if major22(i)>0 & anymjr2_2~=98 then anymjr2_2=1; end;
do i=1 to dim(major23); if major23(i) in (0,98) & anymjr2_3~=1 then
anymjr2_3=0; if major23(i)>0 & anymjr2_3~=98 then anymjr2_3=1; end;
do i=1 to dim(major24); if major24(i) in (0,98) & anymjr2_4~=1 then
anymjr2_4=0; if major24(i)>0 & anymjr2_4~=98 then anymjr2_4=1; end;
do i=1 to dim(major25); if major25(i) in (0,98) & anymjr2_5~=1 then
anymjr2_5=0; if major25(i)>0 & anymjr2_5~=98 then anymjr2_5=1; end;
if anymjr2_1=. & gdr2~=-5 then do;
do k=1 to dim(schidr1);
if schidr2_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr2_1=anymjr1(k);
major_FLG_r2=1;
end;
end;
end;
** Round 3;
do i=1 to dim(major31); if major31(i) in (0,98) & anymjr3_1~=1 then
anymjr3_1=0; if major31(i)>0 & anymjr3_1~=98 then anymjr3_1=1; end;
do i=1 to dim(major32); if major32(i) in (0,98) & anymjr3_2~=1 then
anymjr3_2=0; if major32(i)>0 & anymjr3_2~=98 then anymjr3_2=1; end;
do i=1 to dim(major33); if major33(i) in (0,98) & anymjr3_3~=1 then
anymjr3_3=0; if major33(i)>0 & anymjr3_3~=98 then anymjr3_3=1; end;
do i=1 to dim(major34); if major34(i) in (0,98) & anymjr3_4~=1 then
anymjr3_4=0; if major34(i)>0 & anymjr3_4~=98 then anymjr3_4=1; end;
if anymjr3_1=. & gdr3~=-5 then do;
if gdr2~=-5 then do;
do k=1 to dim(schidr2);
if schidr3_1=schidr2(k) & schidr2(k)>0 & anymjr2(k)>=0 then do;
anymjr3_1=anymjr2(k);
major_FLG_r3=2;
end;
end;
end;
if gdr2=-5 then do;
do k=1 to dim(schidr1);
if schidr3_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr3_1=anymjr1(k);
major_FLG_r3=1;
end;
end;
end;
end;
** Round 4;
do i=1 to dim(major41); if major41(i) in (0,98) & anymjr4_1~=1 then
anymjr4_1=0; if major41(i)>0 & anymjr4_1~=98 then anymjr4_1=1; end;
do i=1 to dim(major42); if major42(i) in (0,98) & anymjr4_2~=1 then
anymjr4_2=0; if major42(i)>0 & anymjr4_2~=98 then anymjr4_2=1; end;
do i=1 to dim(major43); if major43(i) in (0,98) & anymjr4_3~=1 then
anymjr4_3=0; if major43(i)>0 & anymjr4_3~=98 then anymjr4_3=1; end;
do i=1 to dim(major44); if major44(i) in (0,98) & anymjr4_4~=1 then
anymjr4_4=0; if major44(i)>0 & anymjr4_4~=98 then anymjr4_4=1; end;
if anymjr4_1=. & gdr4~=-5 then do;
if gdr3~=-5 then do;
do k=1 to dim(schidr3);
if schidr4_1=schidr3(k) & schidr3(k)>0 & anymjr3(k)>=0 then do;
anymjr4_1=anymjr3(k);
major_FLG_r4=3;
end;
end;
end;
if gdr3=-5 & gdr2~=-5 then do;
do k=1 to dim(schidr2);
if schidr4_1=schidr2(k) & schidr2(k)>0 & anymjr2(k)>=0 then do;
anymjr4_1=anymjr2(k);
major_FLG_r4=2;
end;
end;
end;
if gdr3=-5 & gdr2=-5 then do;
do k=1 to dim(schidr1);
if schidr4_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr4_1=anymjr1(k);
major_FLG_r4=1;
end;
end;
end;
end;
** Round 5;
do i=1 to dim(major51); if major51(i) in (0,98) & anymjr5_1~=1 then
anymjr5_1=0; if major51(i)>0 & anymjr5_1~=98 then anymjr5_1=1; end;
do i=1 to dim(major52); if major52(i) in (0,98) & anymjr5_2~=1 then
anymjr5_2=0; if major52(i)>0 & anymjr5_2~=98 then anymjr5_2=1; end;
do i=1 to dim(major53); if major53(i) in (0,98) & anymjr5_3~=1 then
anymjr5_3=0; if major53(i)>0 & anymjr5_3~=98 then anymjr5_3=1; end;
do i=1 to dim(major54); if major54(i) in (0,98) & anymjr5_4~=1 then
anymjr5_4=0; if major54(i)>0 & anymjr5_4~=98 then anymjr5_4=1; end;
do i=1 to dim(major55); if major55(i) in (0,98) & anymjr5_5~=1 then
anymjr5_5=0; if major55(i)>0 & anymjr5_5~=98 then anymjr5_5=1; end;
do i=1 to dim(major56); if major56(i) in (0,98) & anymjr5_6~=1 then
anymjr5_6=0; if major56(i)>0 & anymjr5_6~=98 then anymjr5_6=1; end;
if anymjr5_1=. & gdr5~=-5 then do;
if gdr4~=-5 then do;
do k=1 to dim(schidr4);
if schidr5_1=schidr4(k) & schidr4(k)>0 & anymjr4(k)>=0 then do;
anymjr5_1=anymjr4(k);
major_FLG_r5=4;
end;
end;
end;
if gdr4=-5 & gdr3~=-5 then do;
do k=1 to dim(schidr3);
if schidr5_1=schidr3(k) & schidr3(k)>0 & anymjr3(k)>=0 then do;
anymjr5_1=anymjr3(k);
major_FLG_r5=3;
end;
end;
end;
if gdr4=-5 & gdr3=-5 & gdr2~=-5 then do;
do k=1 to dim(schidr2);
if schidr5_1=schidr2(k) & schidr2(k)>0 & anymjr2(k)>=0 then do;
anymjr5_1=anymjr2(k);
major_FLG_r5=2;
end;
end;
end;
if gdr4=-5 & gdr3=-5 & gdr2=-5 then do;
do k=1 to dim(schidr1);
if schidr5_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr5_1=anymjr1(k);
major_FLG_r5=1;
end;
end;
end;
end;
** Round 6;
do i=1 to dim(major61); if major61(i) in (0,98) & anymjr6_1~=1 then
anymjr6_1=0; if major61(i)>0 & anymjr6_1~=98 then anymjr6_1=1; end;
do i=1 to dim(major62); if major62(i) in (0,98) & anymjr6_2~=1 then
anymjr6_2=0; if major62(i)>0 & anymjr6_2~=98 then anymjr6_2=1; end;
do i=1 to dim(major63); if major63(i) in (0,98) & anymjr6_3~=1 then
anymjr6_3=0; if major63(i)>0 & anymjr6_3~=98 then anymjr6_3=1; end;
do i=1 to dim(major64); if major64(i) in (0,98) & anymjr6_4~=1 then
anymjr6_4=0; if major64(i)>0 & anymjr6_4~=98 then anymjr6_4=1; end;
do i=1 to dim(major65); if major65(i) in (0,98) & anymjr6_5~=1 then
anymjr6_5=0; if major65(i)>0 & anymjr6_5~=98 then anymjr6_5=1; end;
if anymjr6_1=. & gdr6~=-5 then do;
if gdr5~=-5 then do;
do k=1 to dim(schidr5);
if schidr6_1=schidr5(k) & schidr5(k)>0 & anymjr5(k)>=0 then do;
anymjr6_1=anymjr5(k);
major_FLG_r6=5;
end;
end;
end;
if gdr5=-5 & gdr4~=-5 then do;
do k=1 to dim(schidr4);
if schidr6_1=schidr4(k) & schidr4(k)>0 & anymjr4(k)>=0 then do;
anymjr6_1=anymjr4(k);
major_FLG_r6=4;
end;
end;
end;
if gdr5=-5 & gdr4=-5 & gdr3~=-5 then do;
do k=1 to dim(schidr3);
if schidr6_1=schidr3(k) & schidr3(k)>0 & anymjr3(k)>=0 then do;
anymjr6_1=anymjr3(k);
major_FLG_r6=3;
end;
end;
end;
if gdr5=-5 & gdr4=-5 & gdr3=-5 & gdr2~=-5 then do;
do k=1 to dim(schidr2);
if schidr6_1=schidr2(k) & schidr2(k)>0 & anymjr2(k)>=0 then do;
anymjr6_1=anymjr2(k);
major_FLG_r6=2;
end;
end;
end;
if gdr5=-5 & gdr4=-5 & gdr3=-5 & gdr2=-5 then do;
do k=1 to dim(schidr1);
if schidr6_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr6_1=anymjr1(k);
major_FLG_r6=1;
end;
end;
end;
end;
** Round 7;
do i=1 to dim(major71); if major71(i) in (0,98) & anymjr7_1~=1 then
anymjr7_1=0; if major71(i)>0 & anymjr7_1~=98 then anymjr7_1=1; end;
do i=1 to dim(major72); if major72(i) in (0,98) & anymjr7_2~=1 then
anymjr7_2=0; if major72(i)>0 & anymjr7_2~=98 then anymjr7_2=1; end;
do i=1 to dim(major73); if major73(i) in (0,98) & anymjr7_3~=1 then
anymjr7_3=0; if major73(i)>0 & anymjr7_3~=98 then anymjr7_3=1; end;
do i=1 to dim(major74); if major74(i) in (0,98) & anymjr7_4~=1 then
anymjr7_4=0; if major74(i)>0 & anymjr7_4~=98 then anymjr7_4=1; end;
do i=1 to dim(major75); if major75(i) in (0,98) & anymjr7_5~=1 then
anymjr7_5=0; if major75(i)>0 & anymjr7_5~=98 then anymjr7_5=1; end;
if anymjr7_1=. & gdr6~=-5 then do;
do k=1 to dim(schidr6);
if schidr7_1=schidr6(k) & schidr6(k)>0 & anymjr6(k)>=0 then do;
anymjr7_1=anymjr6(k);
major_FLG_r7=6;
end;
end;
if gdr6=-5 & gdr5~=-5 then do;
do k=1 to dim(schidr5);
if schidr7_1=schidr5(k) & schidr5(k)>0 & anymjr5(k)>=0 then do;
anymjr7_1=anymjr5(k);
major_FLG_r7=5;
end;
end;
end;
if gdr6=-5 & gdr5=-5 & gdr4~=-5 then do;
do k=1 to dim(schidr4);
if schidr7_1=schidr4(k) & schidr4(k)>0 & anymjr4(k)>=0 then do;
anymjr7_1=anymjr4(k);
major_FLG_r7=4;
end;
end;
end;
if gdr6=-5 & gdr5=-5 & gdr4=-5 & gdr3~=-5 then do;
do k=1 to dim(schidr3);
if schidr7_1=schidr3(k) & schidr3(k)>0 & anymjr3(k)>=0 then do;
anymjr7_1=anymjr3(k);
major_FLG_r7=3;
end;
end;
end;
if gdr6=-5 & gdr5=-5 & gdr4=-5 & gdr3=-5 & gdr2~=-5 then do;
do k=1 to dim(schidr2);
if schidr7_1=schidr2(k) & schidr2(k)>0 & anymjr2(k)>=0 then do;
anymjr7_1=anymjr2(k);
major_FLG_r7=2;
end;
end;
end;
if gdr6=-5 & gdr5=-5 & gdr4=-5 & gdr3=-5 & gdr2=-5 then do;
do k=1 to dim(schidr1);
if schidr7_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr7_1=anymjr1(k);
major_FLG_r7=1;
end;
end;
end;
end;
** Round 8;
do i=1 to dim(major81); if major81(i) in (0,98) & anymjr8_1~=1 then
anymjr8_1=0; if major81(i)>0 & anymjr8_1~=98 then anymjr8_1=1; end;
do i=1 to dim(major82); if major82(i) in (0,98) & anymjr8_2~=1 then
anymjr8_2=0; if major82(i)>0 & anymjr8_2~=98 then anymjr8_2=1; end;
do i=1 to dim(major83); if major83(i) in (0,98) & anymjr8_3~=1 then
anymjr8_3=0; if major83(i)>0 & anymjr8_3~=98 then anymjr8_3=1; end;
do i=1 to dim(major84); if major84(i) in (0,98) & anymjr8_4~=1 then
anymjr8_4=0; if major84(i)>0 & anymjr8_4~=98 then anymjr8_4=1; end;
if anymjr8_1=. & gdr7~=-5 then do;
do k=1 to dim(schidr7);
if schidr8_1=schidr7(k) & schidr7(k)>0 & anymjr7(k)>=0 then do;
anymjr8_1=anymjr7(k);
major_FLG_r8=7;
end;
end;
if gdr7=-5 & gdr6~=-5 then do;
do k=1 to dim(schidr6);
if schidr8_1=schidr6(k) & schidr6(k)>0 & anymjr6(k)>=0 then do;
anymjr8_1=anymjr6(k);
major_FLG_r8=6;
end;
end;
end;
if gdr7=-5 & gdr6=-5 & gdr5~=-5 then do;
do k=1 to dim(schidr5);
if schidr8_1=schidr5(k) & schidr5(k)>0 & anymjr5(k)>=0 then do;
anymjr8_1=anymjr5(k);
major_FLG_r8=5;
end;
end;
end;
if gdr7=-5 & gdr6=-5 & gdr5=-5 & gdr4~=-5 then do;
do k=1 to dim(schidr4);
if schidr8_1=schidr4(k) & schidr4(k)>0 & anymjr4(k)>=0 then do;
anymjr8_1=anymjr4(k);
major_FLG_r8=4;
end;
end;
end;
if gdr7=-5 & gdr6=-5 & gdr5=-5 & gdr4=-5 & gdr3~=-5 then do;
do k=1 to dim(schidr3);
if schidr8_1=schidr3(k) & schidr3(k)>0 & anymjr3(k)>=0 then do;
anymjr8_1=anymjr3(k);
major_FLG_r8=3;
end;
end;
end;
if gdr7=-5 & gdr6=-5 & gdr5=-5 & gdr4=-5 & gdr3=-5 & gdr2~=-5 then do;
do k=1 to dim(schidr2);
if schidr8_1=schidr2(k) & schidr2(k)>0 & anymjr2(k)>=0 then do;
anymjr8_1=anymjr2(k);
major_FLG_r8=2;
end;
end;
end;
if gdr7=-5 & gdr6=-5 & gdr5=-5 & gdr4=-5 & gdr3=-5 & gdr2=-5 then do;
do k=1 to dim(schidr1);
if schidr8_1=schidr1(k) & schidr1(k)>0 & anymjr1(k)>=0 then do;
anymjr8_1=anymjr1(k);
major_FLG_r8=1;
end;
end;
end;
end;
** Identifying if R was enrolled in a legeitimate degree program in a 2/4
year college, reported having
some major and also reported leaving that college because finished
coursework or received a degree.
This dummy is created only when R does not report receiving a college degree
in (YSCH-23450).;
** Round 1;
do i=1 to dim(schidr2);
if e23450r2(i)<=0 & (lftscr2(i)=1|lftsc2r2(i)=1) & scoder2(i) in (4,5)
& e27337r2(i) in (1,3,4,5,6) & anymjr2(i)~=0 then clgdgr2(i)=1;
end;
do i=1 to dim(schidr3);
if e23450r3(i)<=0 & (lftscr3(i)=1|lftsc2r3(i)=1) & scoder3(i) in (4,5)
& e27337r3(i) in (1,3,4,5,6) & anymjr3(i)~=0 then clgdgr3(i)=1;
end;
do i=1 to dim(schidr4);
if e23450r4(i)<=0 & (lftscr4(i)=1|lftsc2r4(i)=1) & scoder4(i) in (4,5)
& e27337r4(i) in (1,3,4,5,6) & anymjr4(i)~=0 then clgdgr4(i)=1;
end;
do i=1 to dim(schidr5);
if e23450r5(i)<=0 & (lftscr5(i)=1|lftsc2r5(i)=1) & scoder5(i) in (4,5)
& e27337r5(i) in (1,3,4,5,6) & anymjr5(i)~=0 then clgdgr5(i)=1;
end;
do i=1 to dim(schidr6);
if e23450r6(i)<=0 & lftscr6(i)=1 & scoder6(i) in (4,5)
& e27337r6(i) in (1,3,4,5,6) & anymjr6(i)~=0 then clgdgr6(i)=1;
end;
do i=1 to dim(schidr7);
if e23450r7(i)<=0 & lftscr7(i)=1 & scoder7(i) in (4,5)
& e27337r7(i) in (1,3,4,5,6) & anymjr7(i)~=0 then clgdgr7(i)=1;
end;
do i=1 to dim(schidr8);
if e23450r8(i)<=0 & lftscr8(i)=1 & scoder8(i) in (4,5)
& e27337r8(i) in (1,3,4,5,6) & anymjr8(i)~=0 then clgdgr8(i)=1;
end;
** Compute dates of degree received for respondents when they report
receiving a college degree in
YSCH-3113 but do not report receving one in YSCH-23450. In such cases,
additional checks are used to
verify that the respondent has indeed received a college degree. We use the
degree working
towards (YSCH-27337), school type information (NEW_SCHOOL_CODE), reason they
left the school
(NEWSCHOOL_LEFT) and whether they had decided on a major at that college. If
we can verify that they
were indeed in a 2/4 year college, working towards a legitimate college
degree, left that college
because they had completed coursework, or graduated and had decided on a
major at that college then
we use the date of leaving that particular college as the date of receving
the college degree
reported in YSCH-3113.;
do i=1 to dim(scoder8);
if clgdgr8(i)=1 then do;
if e27337r8(i)>=1 & e3113r8=4
& aarP=-4 & barP=-4 & marP=-4 & dcrP=-4 & pfrP=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr8=4;
aarC=stopcr8(i);
end;
if e27337r8(i)>=3 & e3113r8=5
& barP=-4 & marP=-4 & dcrP=-4 & pfrP=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr8=5;
barC=stopcr8(i);
end;
if e27337r8(i)>=4 & e3113r8=6
& marP=-4 & dcrP=-4 & pfrP=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr8=6;
marC=stopcr8(i);
end;
if e27337r8(i)=5 & e3113r8=7 & dcrP=-4 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr8=7;
dcrC=stopcr8(i);
end;
if e27337r8(i)=6 & e3113r8=8 & pfrP=-4 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr8=8;
pfrC=stopcr8(i);
end;
end;
end;
do i=1 to dim(scoder7);
if clgdgr7(i)=1 then do;
if e27337r7(i)>=1 & e3113r8=4
& aar7=-4 & bar7=-4 & mar7=-4 & dcr7=-4 & pfr7=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr7=4;
aarC=stopcr7(i);
end;
if e27337r7(i)>=3 & e3113r8=5
& bar7=-4 & mar7=-4 & dcr7=-4 & pfr7=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr7=5;
barC=stopcr7(i);
end;
if e27337r7(i)>=4 & e3113r8=6
& mar7=-4 & dcr7=-4 & pfr7=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr7=6;
marC=stopcr7(i);
end;
if e27337r7(i)=5 & e3113r8=7 & dcr7=-4 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr7=7;
dcrC=stopcr7(i);
end;
if e27337r7(i)=6 & e3113r8=8 & pfr7=-4 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr7=8;
pfrC=stopcr7(i);
end;
end;
end;
do i=1 to dim(scoder6);
if clgdgr6(i)=1 & (hsr6>-4|gdr6>-4) then do;
if e27337r6(i)>=1 & e3113r8=4
& aar6=-4 & bar6=-4 & mar6=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr6=4;
if stopcr6(i)>0 then aarC=stopcr6(i);
end;
if e27337r6(i)>=3 & e3113r8=5
& bar6=-4 & mar6=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr6=5;
if stopcr6(i)>0 then barC=stopcr6(i);
end;
if e27337r6(i)>=4 & e3113r8=6
& mar6=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr6=6;
if stopcr6(i)>0 then marC=stopcr6(i);
end;
if e27337r6(i)=5 & e3113r8=7 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr6=7;
if stopcr6(i)>0 then dcrC=stopcr6(i);
end;
if e27337r6(i)=6 & e3113r8=8 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr6=8;
if stopcr6(i)>0 then pfrC=stopcr6(i);
end;
end;
end;
do i=1 to dim(scoder5);
if clgdgr5(i)=1 & (hsr5>-4|gdr5>-4) then do;
if e27337r5(i)>=1 & e3113r8=4
& aar5=-4 & bar5=-4
& aar6<=-4 & bar6<=-4 & mar6<=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr5=4;
if stopcr5(i)>0 then aarC=stopcr5(i);
end;
if e27337r5(i)>=3 & e3113r8=5
& bar5=-4
& bar6<=-4 & mar6<=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr5=5;
if stopcr5(i)>0 then barC=stopcr5(i);
end;
if e27337r5(i)>=4 & e3113r8=6
& mar6<=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr5=6;
if stopcr5(i)>0 then marC=stopcr5(i);
end;
if e27337r5(i)=5 & e3113r8=7 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr5=7;
if stopcr5(i)>0 then dcrC=stopcr5(i);
end;
if e27337r5(i)=6 & e3113r8=8 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr5=8;
if stopcr5(i)>0 then pfrC=stopcr5(i);
end;
end;
end;
do i=1 to dim(scoder4);
if clgdgr4(i)=1 & (hsr4>-4|gdr4>-4) then do;
if e27337r4(i)>=1 & e3113r8=4
& aar4=-4 & bar4=-4
& aar5<=-4 & bar5<=-4
& aar6<=-4 & bar6<=-4 & mar6<=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr4=4;
if stopcr4(i)>0 then aarC=stopcr4(i);
end;
if e27337r4(i)>=3 & e3113r8=5
& bar4=-4
& bar5<=-4
& bar6<=-4 & mar6<=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr4=5;
if stopcr4(i)>0 then barC=stopcr4(i);
end;
if e27337r4(i)>=4 & e3113r8=6
& mar6<=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr4=6;
if stopcr4(i)>0 then marC=stopcr4(i);
end;
if e27337r4(i)=5 & e3113r8=7 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr4=7;
if stopcr4(i)>0 then dcrC=stopcr4(i);
end;
if e27337r4(i)=6 & e3113r8=8 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr4=8;
if stopcr4(i)>0 then pfrC=stopcr4(i);
end;
end;
end;
do i=1 to dim(scoder3);
if clgdgr3(i)=1 & (hsr3>-4|gdr3>-4) then do;
if e27337r3(i)>=1 & e3113r8=4
& aar3=-4 & bar3=-4
& aar4<=-4 & bar4<=-4
& aar5<=-4 & bar5<=-4
& aar6<=-4 & bar6<=-4 & mar6<=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr3=4;
if stopcr3(i)>0 then aarC=stopcr3(i);
end;
if e27337r3(i)>=3 & e3113r8=5
& bar3=-4
& bar4<=-4
& bar5<=-4
& bar6<=-4 & mar6<=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr3=5;
if stopcr3(i)>0 then barC=stopcr3(i);
end;
if e27337r3(i)>=4 & e3113r8=6
& mar6<=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr3=6;
if stopcr3(i)>0 then marC=stopcr3(i);
end;
if e27337r3(i)=5 & e3113r8=7 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr3=7;
if stopcr3(i)>0 then dcrC=stopcr3(i);
end;
if e27337r3(i)=6 & e3113r8=8 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr3=8;
if stopcr3(i)>0 then pfrC=stopcr3(i);
end;
end;
end;
do i=1 to dim(scoder2);
if clgdgr2(i)=1 & (hsr2>-4|gdr2>-4) then do;
if e27337r2(i)>=1 & e3113r8=4
& aar3=-4 & bar3=-4
& aar4<=-4 & bar4<=-4
& aar5<=-4 & bar5<=-4
& aar6<=-4 & bar6<=-4 & mar6<=-4
& aarC=-4 & barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
aarC=-3;
r8_degIMPr2=4;
if stopcr2(i)>0 then aarC=stopcr2(i);
end;
if e27337r2(i)>=3 & e3113r8=5
& bar3=-4
& bar4<=-4
& bar5<=-4
& bar6<=-4 & mar6<=-4
& barC=-4 & marC=-4 & dcrC=-4 & pfrC=-4 then do;
barC=-3;
r8_degIMPr2=5;
if stopcr2(i)>0 then barC=stopcr2(i);
end;
if e27337r2(i)>=4 & e3113r8=6
& mar6<=-4
& marC=-4 & dcrC=-4 & pfrC=-4 then do;
marC=-3;
r8_degIMPr2=6;
if stopcr2(i)>0 then marC=stopcr2(i);
end;
if e27337r2(i)=5 & e3113r8=7 & dcrC=-4 then do;
dcrC=-3;
r8_degIMPr2=7;
if stopcr2(i)>0 then dcrC=stopcr2(i);
end;
if e27337r2(i)=6 & e3113r8=8 & pfrC=-4 then do;
pfrC=-3;
r8_degIMPr2=8;
if stopcr2(i)>0 then pfrC=stopcr2(i);
end;
end;
end;
** If we have no or bad information about receipt of GED then we use the
same technique as above to
impute the date of receipt of GED if the conditions mentioned above are
satisfied. Of course, here
we do not use the restriction of having decided on a major.;
if gdrC<=0 then do;
do i=1 to dim(scoder8);
if e3113r8=2 & e23450r8(i)<=0 & lftscr8(i)=1 & scoder8(i) in (4,5) &
e27337r8(i)=9 then do;
gdrC=-3;
r8_degIMPr8=2;
gdrC=stopcr8(i);
end;
end;
end;
** If we have no or bad information about receipt of H.S.Diploma then we use
the same technique as above
to impute the date of receipt of H.S.Diploma if the conditions mentioned
above are satisfied. Of
course, here we do not use the restriction of having decided on a major.;
if hsrP<=-4 & hsrC<=0 & e3113r8=3 then do;
hsrC=-3;
r8_degIMPr8=3;
do i=1 to dim(scoder8);
if e23450r8(i)<=0 & lftscr8(i)=1 & scoder8(i) in (1,2,3) & stopcr8(i)~=.
then hsrC=stopcr8(i);
end;
end;
do i=1 to dim(scoder8);
if lftscr8(i)=1 & scoder8(i) in (4,5) & e27337r8(i) in (1,3,4,5,6) then do;
if e3113r8=4 & aarC=-4 then chkdg2=1;
if e3113r8=5 & barC=-4 then chkdg2=2;
if e3113r8=6 & marC=-4 then chkdg2=3;
if e3113r8=7 & dcrC=-4 then chkdg2=4;
if e3113r8=8 & pfrC=-4 then chkdg2=5;
end;
end;
*** Convert all -1 & -2s to -3.;
do i=1 to 7;
if CRP(i) in (-1,-2) then CRP(i)=-3;
if CRC(i) in (-1,-2) then CRC(i)=-3;
end;
*** Check if there is some conflict between information from the current
round and that available from
previous rounds.;
do i=1 to 7;
if CRC(i)>0 and CRP(i)>0 & CRC(i)~=CRP(i) then FLG(i)=1;
if CRP(i)>0 and CRC(i)=-3 then FLG(i)=2;
if CRC(i)>0 and CRP(i)=-3 then FLG(i)=3;
end;
*** Merge the results from previous rounds.;
** If only one date is available for any degree i.e. there is no conflict
then use that date.;
do i=1 to 7;
if FLG(i)=0 then do;
if CRP(i)~=-4 then CDT(i)=CRP(i);
if CRC(i)~=-4 then CDT(i)=CRC(i);
end;
end;
** If two dates are available for any degree - one from previous rounds and
one from this then resolve
the conflict. To resolve the conflict.:
(i) Take the date reported in the earlier round if both dates are valid. If
AA or higher have two
valid dates then that is not necessarily a data or questionnaire mistake. A
person may have
received the same type of degree in different majors. But it is a data
inconsisteny issue if R
reports receiving the same type of degree in the same major from the same
institution. So these
must be looked at case by case
(ii) Only the valid date if only one of them is a valid date.;
do i=1 to 7;
if FLG(i) in (1,2) then CDT(i)=CRP(i);
if FLG(i)=3 then CDT(i)=CRC(i);
end;
* What do we do about the cases where R reports receiving a degree in
YSCH-3113 that is greater than
what R reports receiving anywhere else in the questionnaire? We decided not
to use information from
YSCH-3113 unless it helps to resolve conflicting information;
*** START of Handedits;
if pubid in (83) then do;
CDTGD=-4;
FLG_13900r8=1;
end;
if pubid=2645 then do;
CDTGD=270;
FLG_13900r8=1;
end;
if pubid=4248 then do;
CDTGD=262;
FLG_139000r8=1;
end;
if CDTGD=-4 & pubid in
(12 815 1115 1436 1754 1828 2747 3130 3167 3231 3321 3332
3356 4151 4451 4655 4760 4864 4958 5013 5050 5177 5556 5648
5684 5685 5886 5927 6069 6146 6199 6467 4287 6980 7070 7153
7318 7355 7765 7950 7973 8126 8296 8370 8374 8809 8859 4212)
then do;
CDTGD=-3;
FLG_13900r8=1;
end;
** These Rs reported two dates and the date from their transcripts is now
being used.;
if pubid=64 then do;
CDTHS=234;
FLG_COMM=1;
end;
if pubid=256 then do;
CDTHS=222;
FLG_COMM=1;
end;
** Some respondents reported a GED in an earlier round and then reported the
highest degree attained
in Round 7 (YSCH-3113) to be H.S. Diploma. In round 8 they reported the
highest degree attained to
be none or GED. We eliminate the H.S.Diploma receipt information for these
cases.;
if e3113r8 in (1,2) & e3113r7=3 & degIMPr7=3 & gdr7>-4
& hsr1<=-4 & hsr2<=-4 & hsr3<=-4 & hsr4<=-4 & hsr5<=-4 & hsr6<=-4 then do;
CDTHS=-4;
handedit=1;
end;
** Some respondents never reported a GED and then reported the highest
degree attained in Round 7
(YSCH-3113) to be GED. In round 8 they reported the highest degree attained
to be none. We eliminate
the GED receipt information for these cases.;
if e3113r8=1 & e3113r7=2 & degIMPr7=2 & gdr7>-4 & hsrP=-4 & CDTHS=-4
& gdr1<=-4 & gdr2<=-4 & gdr3<=-4 & gdr4<=-4 & gdr5<=-4 & gdr6<=-4 then do;
CDTGD=-4;
handedit=1;
end;
** In this round R reported the highest degree received was BA/BS. R also
reported HGA=18 & HGC=18 in
the single items. However, because we erroneously coded R as having a HGA<8,
R missed the college loops.
R reported being enrolled in a 4-yr college in an earlier round where R
reported working towards a
BA degree. In this round R reported being enrolled in the same college and
the reason R left it was
because R received a degree/completed coursework. Using all this information
we conclude that R
received the BA/BS degree when R was last enrolled at this college.;
if pubid=4003 then do;
CDTBA=292;
handedit=1;
end;
** These Respondents were never asked the H.S.Diploma receipt question, they
were asked the GED receipt
question to which they reported in the affirmative and in the highest degree
received question they
reported receiving a H.S.Diploma; * NEW;
if e3113r8=3 & hsrP=-4 & gdrP=-4 & e11700r8=-4 & e13300r8=1 then do;
CDTHS=CDTGD;
CDTGD=-4;
handedit=1;
end;
*** END of Handedits;
** Compute the year of receiving a degree;
do i=1 to 7;
if CDT(i)<0 then YDT(i)=CDT(i);
if 181<=CDT(i)<=192 then YDT(i)=1995;
if 193<=CDT(i)<=204 then YDT(i)=1996;
if 205<=CDT(i)<=216 then YDT(i)=1997;
if 217<=CDT(i)<=228 then YDT(i)=1998;
if 229<=CDT(i)<=240 then YDT(i)=1999;
if 241<=CDT(i)<=252 then YDT(i)=2000;
if 253<=CDT(i)<=264 then YDT(i)=2001;
if 265<=CDT(i)<=276 then YDT(i)=2002;
if 277<=CDT(i)<=288 then YDT(i)=2003;
if 289<=CDT(i)<=300 then YDT(i)=2004;
end;
** Compute degrees received and highest degree received variables from
YSCH-23450;
hgdegr8=1;
do i=1 to 7;
DEG(i)=0;
if CDT(i)>-4 then do;
DEG(i)=1;
hgdegr8=i+1;
end;
end;
** Compute dummy to check if highest degree computed from YSCH-23450 and
that reported in YSCH-3113 are
the same;
if e3113r8=hgdegr8 & e3113r8>1 & hgdegr8>1 then do;
e3lower=0;
e3higher=0;
end;
if e3113r8~=hgdegr8 then do;
if e3113r8=1 & hgdegr8>1 then e3lower=10+hgdegr8;
if e3113r8=2 & hgdegr8>2 then e3lower=20+hgdegr8;
if e3113r8=3 & hgdegr8>3 then e3lower=30+hgdegr8;
if e3113r8=4 & hgdegr8>4 then e3lower=40+hgdegr8;
if e3113r8=5 & hgdegr8>5 then e3lower=50+hgdegr8;
if e3113r8=6 & hgdegr8>6 then e3lower=60+hgdegr8;
if e3113r8=7 & hgdegr8>7 then e3lower=70+hgdegr8;
if e3113r8=8 & hgdegr8>8 then e3lower=80+hgdegr8;
end;
if e3113r8~=hgdegr8 then do;
if hgdegr8=1 & e3113r8>1 then e3higher=10+e3113r8;
if hgdegr8=2 & e3113r8>2 then e3higher=20+e3113r8;
if hgdegr8=3 & e3113r8>3 then e3higher=30+e3113r8;
if hgdegr8=4 & e3113r8>4 then e3higher=40+e3113r8;
if hgdegr8=5 & e3113r8>5 then e3higher=50+e3113r8;
if hgdegr8=6 & e3113r8>6 then e3higher=60+e3113r8;
if hgdegr8=7 & e3113r8>7 then e3higher=70+e3113r8;
if hgdegr8=8 & e3113r8>8 then e3higher=80+e3113r8;
end;
do i=1 to dim(e23450r8);
if e23450r8(i) in (-1, -2, -3) then hgdegr8=-3; * If degree received cannot
be determined;
end;
ENDSAS;
Variables Created:
CV_GRADES_REPEAT_EVER (NUMREP)
CV_GRADES_REPEAT_YR (NUMREPj)
CV_GRADE_SKIPPED_EVER (NUMSKIP)
CV_GRADE_SKIPPED_YR (NUMSKIPj)
Variables Used
|
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
||
| Round 1 | Round 8 cont'd | Round 8 cont'd | |||||
| e3500r1 | YSCH-3500 | e3112r8 | YSCH-3112 | e9946r8_211 | YSCH-9946.02.01.01 | ||
| e3900r1 | YSCH-3900 | e3878r8 | YSCH-3878 | e9946r8_212 | YSCH-9946.02.01.02 | ||
| e4000r1 | YSCH-4000 | e8416r8_11 | YSCH-8416.01.01 | e9946r8_213 | YSCH-9946.02.01.03 | ||
| e5000r1 | YSCH-5000 | e8416r8_12 | YSCH-8416.01.02 | e9946r8_311 | YSCH-9946.03.01.01 | ||
| intmr1 | CV_INTERVIEW_DATE 1997 | e8416r8_21 | YSCH-8416.02.01 | e9946r8_312 | YSCH-9946.03.01.02 | ||
| intyr1 | CV_INTERVIEW_DATE 1997 | e8416r8_31 | YSCH-8416.03.01 | e9946r8_313 | YSCH-9946.03.01.03 | ||
| NUMREPr1 | CV_GRADES_REPEAT_EVER | e8416r8_41 | YSCH-8416.04.01 | e9946r8_511 | YSCH-9946.05.01.01 | ||
| NUMSKIPr1 | CV_GRADE_SKIPPED_EVER | e8416r8_51 | YSCH-8416.05.01 | e10099mr8_111 | YSCH-10099.01.01.01~M | ||
| HGCr1_symbol | COMPLETED | e8722r8_11 | YSCH-8722.01.01 | e10099yr8_111 | YSCH-10099.01.01.01~Y | ||
| e8722r8_21 | YSCH-8722.02.01 | e10099mr8_112 | YSCH-10099.01.01.02~M | ||||
| Round 2 | e8722r8_31 | YSCH-8722.03.01 | e10099yr8_112 | YSCH-10099.01.01.02~Y | |||
| e3104r2 | YSCH-3104 | e8722r8_41 | YSCH-8722.04.01 | e10099mr8_113 | YSCH-10099.01.01.03~M | ||
| e3061r2 | YSCH-3061 | e8722r8_51 | YSCH-8722.05.01 | e10099yr8_113 | YSCH-10099.01.01.03~Y | ||
| intmr2 | CV_INTERVIEW_DATE 1998 | e8774mr8_11 | YSCH-8774.01.01~M | e10099mr8_211 | YSCH-10099.02.01.01~M | ||
| intyr2 | CV_INTERVIEW_DATE 1998 | e8774yr8_11 | YSCH-8774.01.01~Y | e10099yr8_211 | YSCH-10099.02.01.01~Y | ||
| NUMREPr2 | CV_GRADES_REPEAT_EVER | e8774mr8_12 | YSCH-8774.01.02~M | e10099mr8_212 | YSCH-10099.02.01.02~M | ||
| NUMREPjr2 | CV_GRADES_REPEAT_YR | e8774yr8_12 | YSCH-8774.01.02~Y | e10099yr8_212 | YSCH-10099.02.01.02~Y | ||
| NUMSKIPr2 | CV_GRADE_SKIPPED_EVER | e8774mr8_21 | YSCH-8774.02.01~M | e10099mr8_213 | YSCH-10099.02.01.03~M | ||
| NUMSKIPjr2 | CV_GRADE_SKIPPED_YR | e8774yr8_21 | YSCH-8774.02.01~Y | e10099yr8_213 | YSCH-10099.02.01.03~Y | ||
| e8977r8_11 | YSCH-8977.01.01 | e10099mr8_311 | YSCH-10099.03.01.01~M | ||||
| Round 3 | e8977r8_21 | YSCH-8977.02.01 | e10099yr8_311 | YSCH-10099.03.01.01~Y | |||
| e3104r3 | YSCH-3104 | e9131r8_11 | YSCH-9131.01.01 | e10099mr8_312 | YSCH-10099.03.01.02~M | ||
| e3061r3 | YSCH-3061 | e9131r8_12 | YSCH-9131.01.02 | e10099yr8_312 | YSCH-10099.03.01.02~Y | ||
| intmr3 | CV_INTERVIEW_DATE 1999 | e9131r8_21 | YSCH-9131.02.01 | e10099mr8_313 | YSCH-10099.03.01.03~M | ||
| intyr3 | CV_INTERVIEW_DATE 1999 | e9131r8_31 | YSCH-9131.03.01 | e10099yr8_313 | YSCH-10099.03.01.03~Y | ||
| NUMREPr3 | CV_GRADES_REPEAT_EVER | e9131r8_41 | YSCH-9131.04.01 | e10099mr8_511 | YSCH-10099.05.01.01~M | ||
| NUMREPjr3 | CV_GRADES_REPEAT_YR | e9131r8_51 | YSCH-9131.05.01 | e10099yr8_511 | YSCH-10099.05.01.01~Y | ||
| NUMSKIPr3 | CV_GRADE_SKIPPED_EVER | e9335mr8_11 | YSCH-9335.01.01~M | pubid | PUBID | ||
| NUMSKIPjr3 | CV_GRADE_SKIPPED_YR | e9335yr8_11 | YSCH-9335.01.01~Y | intmr8 | CV_INTERVIEW_DATE 2004 | ||
| e9335mr8_21 | YSCH-9335.02.01~M | intyr8 | CV_INTERVIEW_DATE 2004 | ||||
| Round 4 | e9335yr8_21 | YSCH-9335.02.01~Y | PREVGRADE_IN_r8 | SYMBOL!PREV!GRADE_IN | |||
| e3104r4 | YSCH-3104 | e9335mr8_31 | YSCH-9335.03.01~M | prehgar8 | SYMBOL!PREV!HGA | ||
| e3061r4 | YSCH-3061 | e9335yr8_31 | YSCH-9335.03.01~Y | ||||
| intmr4 | CV_INTERVIEW_DATE 2000 | e9335mr8_41 | YSCH-9335.04.01~M | Roster Data: | |||
| intyr4 | CV_INTERVIEW_DATE 2000 | e9335yr8_41 | YSCH-9335.04.01~Y | scoder8_1 | NEWSCHOOL_SCHCODE.01 | ||
| NUMREPr4 | CV_GRADES_REPEAT_EVER | e9335mr8_51 | YSCH-9335.05.01~M | scoder8_2 | NEWSCHOOL_SCHCODE.02 | ||
| NUMREPjr4 | CV_GRADES_REPEAT_YR | e9335yr8_51 | YSCH-9335.05.01~Y | scoder8_3 | NEWSCHOOL_SCHCODE.03 | ||
| NUMSKIPr4 | CV_GRADE_SKIPPED_EVER | e9589r8_111 | YSCH-9589.01.01.01 | scoder8_4 | NEWSCHOOL_SCHCODE.04 | ||
| NUMSKIPjr4 | CV_GRADE_SKIPPED_YR | e9589r8_112 | YSCH-9589.01.01.02 | scoder8_5 | NEWSCHOOL_SCHCODE.05 | ||
| e9589r8_113 | YSCH-9589.01.01.03 | strtmr8_11 | NEWSCHOOL_START1.01~M | ||||
| Round 5 | e9589r8_121 | YSCH-9589.01.02.01 | strtyr8_11 | NEWSCHOOL_START1.01~Y | |||
| e3104r5 | YSCH-3104 | e9589211 | YSCH-9589.02.01.01 | strtmr8_12 | NEWSCHOOL_START1.02~M | ||
| e3061r5 | YSCH-3061 | e9589r8_212 | YSCH-9589.02.01.02 | strtyr8_12 | NEWSCHOOL_START1.02~Y | ||
| intmr5 | CV_INTERVIEW_DATE 2001 | e9589r8_213 | YSCH-9589.02.01.03 | strtmr8_13 | NEWSCHOOL_START1.03~M | ||
| intyr5 | CV_INTERVIEW_DATE 2001 | e9589r8_311 | YSCH-9589.03.01.01 | strtyr8_13 | NEWSCHOOL_START1.03~Y | ||
| NUMREPr5 | CV_GRADES_REPEAT_EVER | e9589r8_312 | YSCH-9589.03.01.02 | strtmr8_14 | NEWSCHOOL_START1.04~M | ||
| NUMREPjr5 | CV_GRADES_REPEAT_YR | e9589r8_313 | YSCH-9589.03.01.03 | strtyr8_14 | NEWSCHOOL_START1.04~Y | ||
| NUMSKIPr5 | CV_GRADE_SKIPPED_EVER | e9589r8_511 | YSCH-9589.05.01.01 | strtmr8_15 | NEWSCHOOL_START1.05~M | ||
| NUMSKIPjr5 | CV_GRADE_SKIPPED_YR | e9691mr8_111 | YSCH-9691.01.01.01~M | strtyr8_15 | NEWSCHOOL_START1.05~Y | ||
| e9691yr8_111 | YSCH-9691.01.01.01~Y | strtmr8_21 | NEWSCHOOL_START2.01~M | ||||
| Round 6 | e9691mr8_112 | YSCH-9691.01.01.02~M | strtyr8_21 | NEWSCHOOL_START2.01~Y | |||
| e3104r6 | YSCH-3104 | e9691yr8_112 | YSCH-9691.01.01.02~Y | strtmr8_22 | NEWSCHOOL_START2.02~M | ||
| e3061r6 | YSCH-3061 | e9691mr8_113 | YSCH-9691.01.01.03~M | strtyr8_22 | NEWSCHOOL_START2.02~Y | ||
| intmr6 | CV_INTERVIEW_DATE 2002 | e9691yr8_113 | YSCH-9691.01.01.03~Y | strtmr8_31 | NEWSCHOOL_START3.01~M | ||
| intyr6 | CV_INTERVIEW_DATE 2002 | e9691mr8_121 | YSCH-9691.01.02.01~M | strtyr8_31 | NEWSCHOOL_START3.01~Y | ||
| NUMREPr6 | CV_GRADES_REPEAT_EVER | e9691yr8_121 | YSCH-9691.01.02.01~Y | strtmr8_32 | NEWSCHOOL_START3.02~M | ||
| NUMREPjr6 | CV_GRADES_REPEAT_YR | e9691m211 | YSCH-9691.02.01.01~M | strtyr8_32 | NEWSCHOOL_START3.02~Y | ||
| NUMSKIPr6 | CV_GRADE_SKIPPED_EVER | e9691yr8_211 | YSCH-9691.02.01.01~Y | stopmr8_11 | NEWSCHOOL_STOP1.01~M | ||
| NUMSKIPjr6 | CV_GRADE_SKIPPED_YR | e9691mr8_212 | YSCH-9691.02.01.02~M | stopyr8_11 | NEWSCHOOL_STOP1.01~Y | ||
| e9691yr8_212 | YSCH-9691.02.01.02~Y | stopmr8_12 | NEWSCHOOL_STOP1.02~M | ||||
| Round 7 | e9691mr8_213 | YSCH-9691.02.01.03~M | stopyr8_12 | NEWSCHOOL_STOP1.02~Y | |||
| e3104r7 | YSCH-3104 | e9691yr8_213 | YSCH-9691.02.01.03~Y | stopmr8_13 | NEWSCHOOL_STOP1.03~M | ||
| e3061r7 | YSCH-3061 | e9691mr8_311 | YSCH-9691.03.01.01~M | stopyr8_13 | NEWSCHOOL_STOP1.03~Y | ||
| intmr7 | CV_INTERVIEW_DATE 2003 | e9691yr8_311 | YSCH-9691.03.01.01~Y | stopmr8_14 | NEWSCHOOL_STOP1.04~M | ||
| intyr7 | CV_INTERVIEW_DATE 2003 | e9691mr8_312 | YSCH-9691.03.01.02~M | stopyr8_14 | NEWSCHOOL_STOP1.04~Y | ||
| NUMREPr7 | CV_GRADES_REPEAT_EVER | e9691yr8_312 | YSCH-9691.03.01.02~Y | stopmr8_15 | NEWSCHOOL_STOP1.05~M | ||
| NUMREPjr7 | CV_GRADES_REPEAT_YR | e9691mr8_313 | YSCH-9691.03.01.03~M | stopyr8_15 | NEWSCHOOL_STOP1.05~Y | ||
| NUMSKIPr7 | CV_GRADE_SKIPPED_EVER | e9691yr8_313 | YSCH-9691.03.01.03~Y | stopmr8_21 | NEWSCHOOL_STOP2.01~M | ||
| NUMSKIPjr7 | CV_GRADE_SKIPPED_YR | e9691mr8_511 | YSCH-9691.05.01.01~M | stopyr8_21 | NEWSCHOOL_STOP2.01~Y | ||
| e9691yr8_511 | YSCH-9691.05.01.01~Y | stopmr8_22 | NEWSCHOOL_STOP2.02~M | ||||
| Round 8 | e9793r8_111 | YSCH-9793.01.01.01 | stopyr8_22 | NEWSCHOOL_STOP2.02~Y | |||
| e2857r8 | YSCH-2857 | e9946r8_111 | YSCH-9946.01.01.01 | stopmr8_31 | NEWSCHOOL_STOP3.01~M | ||
| e3103r8 | YSCH-3103 | e9946r8_112 | YSCH-9946.01.01.02 | stopyr8_31 | NEWSCHOOL_STOP3.01~Y | ||
| e3104r8 | YSCH-3104 | e9946r8_113 | YSCH-9946.01.01.03 | stopmr8_32 | NEWSCHOOL_STOP3.02~M | ||
| e3010r8 | YSCH-3010 | e9946r8_121 | YSCH-9946.01.02.01 | stopyr8_32 | NEWSCHOOL_STOP3.02~Y | ||
| e3061r8 | YSCH-3061 |
| /*Intermediate variables created in current round (R8) | |
| ENROLL | enrolled at date of interview in current round -- created |
| Intermediate variables created in previous round (R7) | |
| r7bfrpev | Total number of grades repeated ever up to previous round |
| r7bfskev | Total number of grades skipped ever up to previous round |
| r7bf2857 | HGA reported up to previous round |
| r7bfint | The most recent interview date up to previous round (in continuous month scheme) |
| r7bfat1-r7bfat15 | The grade attended up to previous round in order |
| r7bfst1-r7bfst15 | The starting date for each grade attended up to previous round (in continuous month scheme) |
| r7bfed1-r7bfed15 | The ending date for each grade attended up to previous round (in continuous month scheme) |
| r7bfcp1-r7bfcp15 | The dummy that each grade is completed or not up to previous round */ |
/*As in round 4 onwards we are not using the read-in symbol variable for the first grade the youths enrolled, instead, we are using YSCH-8416.01.01. The reason for this is that, in rounds 2 and 3, we asked the question YSCH-8263 ("Is this a DLI school") and YSCH-3401("Is this the first enrollment period") if they answered "yes" to YSCH-8263. So, only the people who are not in the first enrollment period go on to question YSCH-8416.01.01. But in round 4 and 5, we don't ask the question YSCH-3401 anymore. So, even though a youth was in the first enrollment period of DLI school, we still go on to YSCH-8416.01.01. In this case, we rather use YSCH-8416.01.01 for the first grade attended than the symbol variable read in from the previous rounds. */
***** PROGRAM STARTS;
if e3500r1>=0 then HGAr1=e3500r1;
if e4000r1>=0 then HGAr1=e4000r1;
if e3104r2>-1 then HGAr1=e3104r2;
if e5000r1>=0 then HGCr1=e5000r1;
if HGCr1_symbol>=0 then HGCr1=HGCr1_symbol;
*** Added on February 24, 2006;
if e3061r2>=0 then HGCr1=e3061r2;
if e3061r2=-5 then do;
if e3061r3>=0 then HGCr1=e3061r3;
if e3061r3=-5 then do;
if e3061r4>=0 then HGCr1=e3061r4;
if e3061r4=-5 then do;
if e3061r5>=0 then HGCr1=e3061r5;
if e3061r5=-5 then do;
if e3061r6>=0 then HGCr1=e3061r6;
if e3061r6=-5 then do;
if e3061r7>=0 then HGCr1=e3061r7;
if e3061r7=-5 then do;
if e3061r8>=0 then HGCr1=e3061r8;
end;
end;
end;
end;
end;
end;
if hsr1>-4 & hgcr1<12 then HGCr1=12;
** Interview dates in cumulative months;
if intyr8>0 & intmr8>0 then doicm=((intyr8-1980)*12)+intmr8;
** Create new array of start dates for first enrollment in a school
depending on whether R corrected
roster data;
array strtm (*) strtmr8_11 strtmr8_12 strtmr8_13 strtmr8_14 strtmr8_15 ; *
Start mo from roster;
array strty (*) strtyr8_11 strtyr8_12 strtyr8_13 strtyr8_14 strtyr8_15 ; *
Start yr from roster;
array e8722 (*) e8722r8_11 e8722r8_21 e8722r8_31 e8722r8_41 e8722r8_51 ; *
Verify start date;
array e8774m (*) e8774mr8_11 e8774mr8_21 e8774mr8_31 e8774mr8_41
e8774mr8_51; * Corrected start mo;
array e8774y (*) e8774yr8_11 e8774yr8_21 e8774yr8_31 e8774yr8_41
e8774yr8_51; * Corrected start yr;
array startm (*) start1m start2m start3m start4m start5m ; * Correct start
mo, created;
array starty (*) start1y start2y start3y start4y start5y ; * Correct start
yr, created;
numstart=0;
do i=1 to dim(strtm);
if e8774m(i)>0 & e8774y(i)>0 then do;
startm(i)=e8774m(i);
starty(i)=e8774y(i);
end;
else if e8774m(i)<=0|e8774y(i)<=0|e8722(i)=1 then do;
startm(i)=strtm(i);
starty(i)=strty(i);
numstart=numstart+1;
end;
end;
** Create arrays of grades attended, whether they were completed, and start
and completion dates;
* Grade attended;
array gr_attd (*) sym1gr11 e8416r8_12 e8416r8_21 e8416r8_31 e8416r8_41
e8416r8_51
e9589r8_111 e9589r8_112 e9589r8_113 e9589r8_121
e9589r8_211 e9589r8_212 e9589r8_213
e9589r8_311 e9589r8_312 e9589r8_313
e9589r8_511;
* Completed - yes/no;
array gr_comp (*) e9131r8_11 e9131r8_12 e9131r8_21 e9131r8_31 e9131r8_41
e9131r8_51
e9946r8_111 e9946r8_112 e9946r8_113 e9946r8_121
e9946r8_211 e9946r8_212 e9946r8_213
e9946r8_311 e9946r8_312 e9946r8_313
e9946r8_511;
* Date of grade enrollment/start - month;
array sdate_m (*) start1m e8774mr8_12 start2m start3m start4m start5m
e9691mr8_111 e9691mr8_112 e9691mr8_113 e9691mr8_121
e9691mr8_211 e9691mr8_212 e9691mr8_213
e9691mr8_311 e9691mr8_312 e9691mr8_313
e9691mr8_511;
* Date of grade enrollment/start - year;
array sdate_y (*) start1y e8774yr8_12 start2y start3y start4y start5y
e9691yr8_111 e9691yr8_112 e9691yr8_113 e9691yr8_121
e9691yr8_211 e9691yr8_212 e9691yr8_213
e9691yr8_311 e9691yr8_312 e9691yr8_313
e9691yr8_511;
* Date of grade completion - month;
array cdate_m (*) e9335mr8_11 e9335mr8_12 e9335mr8_21 e9335mr8_31
e9335mr8_41 e9335mr8_51
e10099mr8_111 e10099mr8_112 e10099mr8_113 e10099mr8_121
e10099mr8_211 e10099mr8_212 e10099mr8_213
e10099mr8_311 e10099mr8_312 e10099mr8_313
e10099mr8_511;
* Date of grade completion - year;
array cdate_y (*) e9335yr8_11 e9335yr8_12 e9335yr8_21 e9335yr8_31
e9335yr8_41 e9335yr8_51
e10099yr8_111 e10099yr8_112 e10099yr8_113 e10099yr8_121
e10099yr8_211 e10099yr8_212 e10099yr8_213
e10099yr8_311 e10099yr8_312 e10099yr8_313
e10099yr8_511;
** Create arrays of all grades attended and completed and their start and
complete dates;
* Assign GRA the number of elements in the new grades array to be created.;
GRA=9;
* Grade attended;
array attd (9) attd1-attd9;
* Grade completed;
array comp (9) comp1-comp9;
* Date of grade enrollment/start - month;
array stmo (9) stmo1-stmo9;
* Date of grade enrollment/start - year;
array styr (9) styr1-styr9;
* Date of grade completion - month;
array cpmo (9) cpmo1-cpmo9;
* Date of grade completion - year;
array cpyr (9) cpyr1-cpyr9;
** Set all new array vars to -4;
do i=1 to GRA;
stmo(i)=-4;
styr(i)=-4;
cpmo(i)=-4;
cpyr(i)=-4;
comp(i)=-4;
attd(i)=-4;
end;
** Record all grades completed and their completion dates;
j=1;
do i= 1 to dim(gr_attd);
if gr_comp(i)=1 & gr_attd(i) not in (-4,-5) then do;
comp(j)=gr_attd(i);
cpmo(j)=cdate_m(i);
cpyr(j)=cdate_y(i);
j=j+1;
end;
end;
** Record all grades attended and their start dates;
k=1;
flag1=0;
if e9131r8_11 not in (-4,-5) then do;
if sym1gr11 not in (-4,-5) then do;
attd(k)=sym1gr11;
if start1m>0 then stmo(k)=start1m;
if start1y>0 then styr(k)=start1y;
if e8774mr8_11=-4 & e8774yr8_11=-4 & strtmr8_11=-4 & strtyr8_11=-4 then
flag1=1;
*if e8774mr8_11=-4 & e8774yr8_11=-4 & strtmr8_11=-4 & strtyr8_11=-4 &
r1intyr>0
then styr(k)=r1intyr;
k=k+1;
end;
do i=2 to dim(gr_attd);
if gr_comp(i)~=-4 & gr_comp(i)~=. then do;
attd(k)=gr_attd(i);
stmo(k)=sdate_m(i);
styr(k)=sdate_y(i);
k=k+1;
end;
end;
end;
** Create date in continuous months for each start and complete date in
arrays;
* Date of grade completion in continuous month scheme;
array cpcm (9) cpcm1-cpcm9;
* Date of grade enrollment/start in continuous month scheme;
array stcm (9) stcm1-stcm9;
do i=1 to GRA;
if cpyr(i)>0 & cpmo(i)>0 then cpcm(i)=((cpyr(i)-1980)*12)+cpmo(i);
else if cpyr(i) in (-1, -2, -3)|cpmo(i) in (-1, -2, -3) then cpcm(i)=-3;
else if cpyr(i)=-4|cpmo(i)=-4 then cpcm(i)=-4;
if styr(i)>0 & stmo(i)>0 then stcm(i)=((styr(i)-1980)*12)+stmo(i);
else if styr(i) in (-1, -2, -3)|stmo(i) in (-1, -2, -3) then stcm(i)=-3;
else if styr(i)=-4|stmo(i)=-4 then stcm(i)=-4;
end;
** Create new arrays of started and completed grades that have grades listed
only once and in order
- report latest complete date;
* Completed grade and date of grade completion when grades have been listed
only once and in order;
array NCOMP (9) NCOMP1-NCOMP9;
array NCDAT (9) NCDAT1-NCDAT9;
NCOMP1=comp1;
NCDAT1=cpcm1;
reorder=0;
** First make sure that the first element in the array is the lowest grade
and the latest date for that
grade;
do i=2 to GRA;
if comp(i)>0 then do;
if comp(i)=NCOMP1 & cpcm(i)>NCDAT1 then NCDAT1=cpcm(i);
else if comp(i)<NCOMP1 then do;
NCOMP1=comp(i);
NCDAT1=cpcm(i);
reorder=reorder+1;
end;
end;
end;
do j=2 to GRA;
do i=1 to GRA;
if NCOMP(j-1)~=. then do;
if comp(i)=NCOMP(j-1) & cpcm(i)>NCDAT(j-1) then NCDAT(j-1)=cpcm(i);
else if comp(i)=NCOMP(j-1)+1 then do;
NCOMP(j)=comp(i);
NCDAT(j)=cpcm(i);
end;
else if NCOMP(j)=. & comp(i)>NCOMP(j-1) then do;
NCOMP(j)=comp(i);
NCDAT(j)=cpcm(i);
reorder=reorder+1;
end;
end;
end;
end;
** Create a new array with all grades attended in order and an array with
the earliest date each grade
was started;
* Intermediate variables;
array tmpattd (9) tmpattd1-tmpattd9;
array tmpadat (9) tmpadat1-tmpadat9;
* Grades attended and the start dates for enrollment in these grades in
proper order;
array NATTD (9) NATTD1-NATTD9;
array NADAT (9) NADAT1-NADAT9;
do i=1 to GRA;
tmpattd(i)=attd(i);
tmpadat(i)=stcm(i);
end;
i=1;
k=1;
do i=1 to GRA;
do j=i+1 to GRA;
if tmpattd(j)~=-4 then do;
if 0<tmpattd(j)<tmpattd(i) then do;
att_temp=tmpattd(i);
dat_temp=tmpadat(i);
tmpattd(i)=tmpattd(j);
tmpadat(i)=tmpadat(j);
tmpattd(j)=att_temp;
tmpadat(j)=dat_temp;
reorder=reorder+1;
end;
end;
end;
if i=1 then do;
NATTD(k)=tmpattd(i);
NADAT(k)=tmpadat(i);
end;
if tmpattd(i)=NATTD(k) then do;
if (0<tmpadat(i)<NADAT(k))|(NADAT(k)=-4 & tmpadat(i)>0) then do;
NADAT(k)=tmpadat(i);
end;
else if tmpadat(i) in (-1,-2,-3)|NADAT(k) in (-1,-2,-3) then NADAT(k)=-3;
end;
else if tmpattd(i)>NATTD(k) then do;
k=k+1;
NATTD(k)=tmpattd(i);
NADAT(k)=tmpadat(i);
end;
end;
** Compute the last enrollment date - stopdate;
* School stop date - month;
array stopm (*) stopmr8_11 stopmr8_21 stopmr8_31
stopmr8_12 stopmr8_22 stopmr8_32
stopmr8_13
stopmr8_14
stopmr8_15;
* School stop date - year;
array stopy (*) stopyr8_11 stopyr8_21 stopyr8_31
stopyr8_12 stopyr8_22 stopyr8_32
stopyr8_13
stopyr8_14
stopyr8_15;
* School stop date in continuous month scheme;
array stopd (*) stopd11 stopd21 stopd31
stopd12 stopd22 stopd32
stopd13
stopd14
stopd15;
* School code;
array scode (*) scoder8_1 scoder8_1 scoder8_1
scoder8_2 scoder8_2 scoder8_2
scoder8_3
scoder8_4
scoder8_5;
do i=1 to dim(stopm);
if stopy(i)>0 & stopm(i)>0 then stopd(i)=((stopy(i)-1980)*12)+stopm(i);
else if stopy(i)=-5 then stopd(i)=-5;
else if stopy(i) in (-1,-2,-3)|stopm(i) in (-1,-2,-3) then stopd(i)=-3;
end;
if ENROLL=0 then do;
if scoder8_1 in (1,2,3) then stopdate=stopd11;
do i=2 to dim(stopm);
if scode(i) in (1,2,3) & stopd(i)>stopdate then stopdate=stopd(i);
end;
end;
else if ENROLL=1 then stopdate=-4;
** Compute end dates for attended grades. Find the end date for each grade
attended
- if R doesn't give a completion date then:
(a) choose the month before they started the next grade,
(b) if there is not another grade and currently enrolled then take the
interview date,
(c) if there is not another grade and not currently enrolled then take the
last stop date - stopdate,
(d) if the enrollment date for the grade is the last interview date then
take the next june.;
** Date of completion/stop attending a grade;
array NEDAT (9) NEDAT1-NEDAT9;
** Flags of grade completion;
array ISCOM (9) ISCOM1-ISCOM9;
do i=1 to GRA;
if NATTD(i)~=. then ISCOM(i)=0;
end;
endimp=0;
do i=1 to GRA;
do j=1 to GRA;
if NATTD(i)=NCOMP(j) & NATTD(i)>0 then do;
NEDAT(i)=NCDAT(j);
ISCOM(i)=1;
end;
end;
if NATTD(i)~=. & NEDAT(i)=. & NADAT(i)~=PRbfint & NADAT(i)~=NADAT(i+1) &
NADAT(i+1)~=. then do;
NEDAT(i)=NADAT(i+1)-1;
endimp=1;
end;
else if NATTD(i)~=. & NEDAT(i)=. & NATTD(i+1)=. & ENROLL=1 then do;
NEDAT(i)=doicm;
endimp=1;
end;
else if NATTD(i)~=. & NEDAT(i)=. & NATTD(i+1)=. & ENROLL=0 then do;
NEDAT(i)=stopdate;
endimp=1;
end;
else if NEDAT(i)=. & NADAT(i)=PRbfint then do;
endimp=1;
if NADAT(i)<=210 then NEDAT(i)=210;
else if 211<=NADAT(i)<=222 then NEDAT(i)=222;
else if 223<=NADAT(i)<=234 then NEDAT(i)=234;
else if 235<=NADAT(i)<=246 then NEDAT(i)=246;
else if 247<=NADAT(i)<=258 then NEDAT(i)=258;
else if 259<=NADAT(i)<=270 then NEDAT(i)=270;
else if 271<=NADAT(i)<=282 then NEDAT(i)=282;
else if 283<=NADAT(i)<=294 then NEDAT(i)=294;
else if 295<=NADAT(i)<=306 then NEDAT(i)=306;
else if 307<=NADAT(i)<=318 then NEDAT(i)=318;
end;
end;
** Delete the grades whose information is repeatedly reported in the current
round: If a grade is
reported in the previous rounds and was completed, we don't repeat this
grade's info. in this round;
* Assign GRB the number of elements in this array of grades.;
GRB=15;
* The grade attended up to the previous round in order;
array PRbfat (15) PRbfat1-PRbfat15;
* Enrollment dates for grade attended up to the previous round in order;
array PRbfst (15) PRbfst1-PRbfst15;
* Stop dates for grade attended up to the previous round in order;
array PRbfed (15) PRbfed1-PRbfed15;
* Flag to indicate whether the grade was completed or not for grades
attended up to the previous round
in order;
array PRbfcp (15) PRbfcp1-PRbfcp15;
* Intermediate variables;
array tmp2att (9) tmp2att1-tmp2att9;
do i=1 to GRA;
tmp2att(i)=NATTD(i);
end;
backcut=0;
ncut=0;
backrep=0;
do i=1 to GRA;
do j=1 to GRB;
if 0<tmp2att(i)<13 & tmp2att(i)=PRbfat(j) & PRbfcp(j)=1 then do;
j=GRB;
backcut=1;
ncut=ncut+1;
do k=i+1-ncut to GRA-ncut;
if NATTD(k+1)~=. then do;
NATTD(k)=NATTD(k+1);
NADAT(k)=NADAT(k+1);
NEDAT(k)=NEDAT(k+1);
ISCOM(k)=ISCOM(k+1);
end;
else do;
NATTD(k)=.;
NADAT(k)=.;
NEDAT(k)=.;
ISCOM(k)=0;
k=GRA-ncut;
end;
end;
end;
end;
end;
if 0<NATTD1<13 then do;
do i=1 to GRB;
if PRbfat(i)>=NATTD1 then do;
if PRbfat(i+1)~=. then backrep=1;
if PRbfcp(i)=1 then backrep=2;
end;
end;
end;
** Flag the case where the reported grades are jumping;
badpre=0;
replace=0;
jumprep1=0;
jumprep2=0;
jumpge21=0;
jumpge22=0;
if PRbfat1~=. then do;
do i=1 to (GRB-1);
if PRbfat(i)~=. & PRbfat(i+1)=. then do;
lphigh=PRbfat(i);
lphighst=PRbfst(i);
lphighed=PRbfed(i);
lphighcp=PRbfcp(i);
lpnum=i;
i=GRB;
end;
end;
end;
else lphigh=-5;
if 0<NATTD1<13 then do;
if (lphigh~=-5 & ((NATTD1=lphigh+1 & lphighcp~=1)|NATTD1>lphigh+1)) then
jumprep1=1;
if (lphigh=-5 & ((HGCr1>0 & NATTD1>=HGCr1+2)|(HGAr1>0 & NATTD1>=HGAr1+2)))
then jumprep2=1;
if (lphigh~=-5 & NATTD1>=lphigh+2) then jumpge21=1;
if (lphigh=-5 & HGCr1>0 & NATTD1>=HGCr1+3) then jumpge22=1;
end;
** Substitute start dates in the previous round for first grade in loops;
if 0<NATTD1<13 & PRbfat1~=. then do;
do i=1 to (GRB-1);
if (PRbfst(i)>PRbfed(i) & PRbfed(i)>0)
or (PRbfed(i)>PRbfst(i+1) & PRbfst(i+1)>0)
or (PRbfst(i+1)>PRbfed(i+1) & PRbfed(i+1)>0) then do;
NADAT1=-3;
badpre=1;
end;
else if PRbfat(i)=NATTD1 & PRbfat(i+1)=. & PRbfcp(i)=0 & badpre~=1 then do;
NADAT1=PRbfst(i);
replace=1;
end;
end;
end;
else if -4<NATTD1<=0 then NADAT1=-3;
***** CREATE THE FINAL VARIABLES;
** Measure the length that a respondent was in each completed grade and
count the number of grades
skipped and repeated;
array lengtha (9) length1-length9;
REPEAT=0;
REPEATj=0;
skipleng=0;
skipl_j=0;
SKIP=-16;
SKIPj=-16;
oldstrt=0;
nocomp=0;
*skipback=0;
do i=1 to (GRA-1);
if 0<NATTD(i)<13 & NEDAT(i)>0 & NADAT(i)>0 then
lengtha(i)=NEDAT(i)-NADAT(i);
if 0<NATTD(i)<13 & NADAT(i)<=NEDAT(i)<=NADAT(i+1) & lengtha(i)>13
& NATTD(i+1)-NATTD(i)=1 & REPEAT~=-3 then do;
REPEAT=REPEAT+1;
if i=1 & NADAT(i)<PRbfint then oldstrt=1;
if NEDAT(i)<=282 then REPEATj=REPEATj+1;
end;
else if 0<NATTD(i)<13 & NADAT(i)<=NEDAT(i) & NATTD(i+1)=. & lengtha(i)>13
& REPEAT~=-3 & (ISCOM(i)=1|e2857r8=NATTD(i)) then do;
REPEAT=REPEAT+1;
if i=1 & NADAT(i)<PRbfint then oldstrt=1;
if NEDAT(i)<=282 then REPEATj=REPEATj+1;
end;
else if 0<NATTD(i)<13 & NADAT(i)<=NEDAT(i) & NATTD(i+1)=. & lengtha(i)>13
& REPEAT~=-3 & (ISCOM(i)=0 & e2857r8~=NATTD(i)) then do;
if i=1 & NADAT(i)<PRbfint then oldstrt=1;
REPEAT=-3;
REPEATj=-3;
reason=1;
end;
end;
do i=1 to (GRA-2);
if 0<NATTD(i)<13 & NADAT(i)<NEDAT(i)<NADAT(i+1)<NEDAT(i+1) then do;
if NADAT(i) in
(212,213,224,225,236,237,248,249,260,261,272,273,284,285,296,297)
& NADAT(i)~=PRbfint & NATTD(i+1)-NATTD(i)=1 & ISCOM(i+1)=1
& NEDAT(i+1)-NADAT(i)<=12 & NADAT(i+2)-NEDAT(i+1)<=9 then do;
if (i=1|(i~=1 & NADAT(i)-NEDAT(i-1)<=9)) & skipleng~=-3 then do;
skipleng=skipleng+1;
if NEDAT(i+1)<=294 & skipl_j~=-3 then skipl_j=skipl_j+1;
end;
end;
end;
end;
** Take care of connection between previous round and current round;
connect=0;
if 0<NATTD1<13 & lphigh>0 & NATTD1~=lphigh then do;
if NATTD1-lphigh>1 then connect=1;
if lphighst in
(212,213,224,225,236,237,248,249,260,261,272,273,284,285,296,297)
& NEDAT1>=lphighst & NEDAT1-lphighst<=12 then connect=2;
end;
else if 0<NATTD1<13 & lphigh>0 & NATTD1=lphigh & ISCOM1=1 & lphighcp~=1
& PRbfst(lpnum-1)>0 then do;
if PRbfst(lpnum-1) in
(212,213,224,225,236,237,248,249,260,261,272,273,284,285,296,297)
& NEDAT1>=PRbfst(lpnum-1) & NEDAT1-PRbfst(lpnum-1)<=12 then connect=3;
end;
** Check for respondents who completely skip (do not attend) a grade;
skipgr=0;
skipgrj=0;
skipgt2=0;
do i=1 to (GRA-1);
if 0<NATTD(i)<13 & NATTD(i+1)-NATTD(i)=2 & NEDAT(i)>0 & NADAT(i+1)>0
& NADAT(i+1)-NEDAT(i)<=9 & skipgr~=-3 then do;
skipgr=skipgr+1;
if NEDAT(i+1)<=282 then skipgrj=skipgrj+1;
end;
else if 0<NATTD(i)<13 & NATTD(i+1)-NATTD(i)=3 & NEDAT(i)>0 & NADAT(i+1)>0
& NADAT(i+1)-NEDAT(i)<=9 then do;
skipgr=skipgr+2;
if NEDAT(i+1)<=282 then skipgrj=skipgrj+2;
end;
else if 0<NATTD(i)<13 & NATTD(i+1)-NATTD(i)>3 & NEDAT(i)>0 & NADAT(i+1)>0
& NADAT(i+1)-NEDAT(i)<=9 then do;
skipgt2=1;
end;
end;
** Set REPEAT and SKIP to -3 if allmess=1 or backrep>0 or jumprep=1 or
zerograd=1 or negdate=1;
allmess=0;
do i=1 to (GRA-1);
if 0<NATTD(i)<13 & (
(NADAT(i)>NEDAT(i) & NEDAT(i)>0)
|(NEDAT(i)>NADAT(i+1) & NADAT(i+1)>0)
|(NADAT(i+1)>NEDAT(i+1) & NEDAT(i+1)>0)
) then do;
allmess=1;
end;
end;
zerograd=0;
do i=1 to GRA;
if NATTD(i)=0 then zerogrd=1;
end;
negdate=0;
do i=1 to dim(attd);
if 0<NATTD(i)<13 & (NEDAT(i) in (-1,-2,-3)|NADAT(i) in (-1,-2,-3)) then
negdate=1;
end;
if allmess=1|backrep>0|zerograd=1|jumprep1=1|jumprep2=1|negdate=1 then do;
REPEAT=-3;
REPEATj=-3;
SKIP=-3;
SKIPj=-3;
end;
if allmess=1 then reason=2.1;
if backrep>0 then reason=2.2;
if zerograd=1 then reason=2.3;
if jumprep1=1 then reason=2.4;
if jumprep2=1 then reason=2.5;
if negdate=1 then reason=2.6;
** Flag respondents who reported skipping a grade and those who say they did
not skip grade;
array whyskip (*) e8977r8: e9793r8:;
skipques=0;
do i=1 to dim(whyskip);
if whyskip(i)=1 then skipques=1;
end;
notskip=0;
do i=1 to dim(whyskip);
if whyskip(i) in (-1,-2,2,999) then notskip=1;
end;
double=0;
if skipgr>0 & skipleng>0 then double=1;
if SKIP~=-3 then do;
if (skipques=0 & skipleng=0 & skipgr=0)|(notskip>=1 & skipques=0) then
SKIP=0;
else if skipleng=-3 & (skipgr=0|skipques=0) then do;
SKIP=-3;
reason=3;
end;
else if skipgr=-3 & skipleng=0 then do;
SKIP=-3;
reason=4;
end;
else if skipleng>=1 then SKIP=skipleng;
else if skipques>=1 & skipgr>=1 then SKIP=skipgr;
else if skipques>=1 & skipgr=0 then do;
SKIP=-3;
reason=5;
end;
else if skipques=0 & skipgr>=1 then do;
SKIP=-3;
reason=6;
end;
if skipques=-3|skipgr=-3|skipleng=-3 then do;
SKIP=-3;
reason=7;
end;
end;
if SKIPj~=-3 then do;
if (skipl_j=0 & skipgrj=0)|(notskip>=1 & skipques=0) then SKIPj=0;
else if skipl_j=-3 & (skipgrj=0|skipques=0) then do;
SKIP=-3;
reason=8;
end;
else if skipgrj=-3 & skipl_j=0 then do;
SKIPj=-3;
reason=9;
end;
else if skipl_j>=1 then SKIPj=skipl_j;
else if skipques>=1 & skipgrj>=1 then SKIPj=skipgrj;
else if skipques>=1 & skipgrj=0 then do;
SKIPj=-3;
reason=10;
end;
else if skipques=0 & skipgrj>=1 then do;
SKIPj=-3;
reason=11;
end;
if SKIP=-3 then do;
SKIPj=-3;
reason=12;
end;
end;
** Take care of the cases whose "repeated grade" could be double counted;
if oldstrt=1 & REPEAT>0 & PRbfrpev>0 & PRbf2857~=-5 then do;
do i=1 to (GRA-1);
if 0<NATTD1<13 & PRbfat(i)=NATTD1 & PRbfat(i+1)=. & (PRbfed(i)-PRbfst(i))>13
&
(PRbfcp(i)=1|PRbf2857=PRbfat(i)) then do;
REPEAT=REPEAT-1;
if NEDAT1<=282 then REPEATj=REPEATj-1;
double_repeat=1;
end;
end;
end;
* Combine previous and current round information.;
if PRbfrpev>=0 & REPEAT>=0 then NUMREP=PRbfrpev+REPEAT;
else if PRbfrpev<0 then NUMREP=PRbfrpev;
else if PRbfrpev>=0 & REPEAT<0 then NUMREP=REPEAT;
if PRbfrpev>=0 & REPEATj>=0 then NUMREPj=PRbfrpev+REPEATj;
else if PRbfrpev<0 then NUMREPj=PRbfrpev;
else if PRbfrpev>=0 & REPEATj<0 then NUMREPj=REPEATj;
if PRbfskev>=0 & SKIP>=0 then NUMSKIP=PRbfskev+SKIP;
else if PRbfskev<0 then NUMSKIP=PRbfskev;
else if PRbfskev>=0 & SKIP<0 then NUMSKIP=SKIP;
if PRbfskev>=0 & SKIP>=0 then NUMSKIPj=PRbfskev+SKIPj;
else if PRbfskev<0 then NUMSKIPj=PRbfskev;
else if PRbfskev>=0 & SKIPj<0 then NUMSKIPj=SKIPj;
if NUMREP in (-1,-2) then NUMREP=-3;
if NUMREPj in (-1,-2) then NUMREPj=-3;
if NUMSKIP in (-1,-2) then NUMSKIP=-3;
if NUMSKIPj in (-1,-2) then NUMSKIPj=-3;
if NUMREPr1=-4 then do;
NUMSKIP=-4;
NUMREP=-4;
NUMSKIPj=-4;
NUMREPj=-4;
end;
dontbother=1;
if NUMREP not in (-3,-4) & NUMSKIP not in (-3,-4)
& PRbfrpev not in (-3,-4) & PRbfskev not in (-3,-4) then dontbother=0;
if e3104r8=-5 then do;
NUMSKIP=-5;
NUMREP=-5;
NUMSKIPj=-5;
NUMREPj=-5;
end;
***** GENERATE THE FINAL DATA SET;
** For single variables;
CRbfrpev=NUMREP;
if e3104r8=-5 then CRbfrpev=PRbfrpev;
CRbfskev=NUMSKIP;
if e3104r8=-5 then CRbfskev=PRbfskev;
CRbf2857=e2857r8;
if e3104r8=-5 then CRbf2857=PRbf2857;
CRbfint=doicm;
if e3104r8=-5 then CRbfint=PRbfint;
** For array variables;
array alattd (*) PRbfat1-PRbfat15 NATTD1-NATTD9;
array alstdt (*) PRbfst1-PRbfst15 NADAT1-NADAT9;
array aleddt (*) PRbfed1-PRbfed15 NEDAT1-NEDAT9;
array alcomp (*) PRbfcp1-PRbfcp15 ISCOM1-ISCOM9;
array CRbfat (*) CRbfat1-CRbfat15;
array CRbfst (*) CRbfst1-CRbfst15;
array CRbfed (*) CRbfed1-CRbfed15;
array CRbfcp (*) CRbfcp1-CRbfcp15;
array PRtpat (*) PRtpat1-PRtpat15;
array PRtpst (*) PRtpst1-PRtpst15;
array PRtped (*) PRtped1-PRtped15;
array PRtpcp (*) PRtpcp1-PRtpcp15;
GRC=(GRA+GRB);
j=0;
do i=1 to GRC;
if alattd[i] not in (-4, -5, .) then do;
j=j+1;
CRbfat[j]=alattd[i];
CRbfst[j]=alstdt[i];
CRbfed[j]=aleddt[i];
CRbfcp[j]=alcomp[i];
end;
end;
do i=1 to GRB;
PRtpat[i]=CRbfat[i];
PRtpst[i]=CRbfst[i];
PRtped[i]=CRbfed[i];
PRtpcp[i]=CRbfcp[i];
end;
** If two grades are same with the same start date, we delete the info. with
earlier stopping date;
** We also delete the 0 grade info;
cut=0;
numcut=0;
samegrd=0;
do i=1 to (GRB-1);
if (0<PRtpat[i]<13 & PRtpat[i]=PRtpat[i+1] & PRtpst[i]=PRtpst[i+1] &
PRtped[i]<=PRtped[i+1]
& (PRtpst[i]~=-3|PRtpst[i+1]~=-3))|PRtpat[i]=0 then do;
cut=1;
cut=1;
numcut=numcut+1;
do k=i+1-numcut to GRB-numcut;
CRbfat[k]=CRbfat[k+1];
CRbfst[k]=CRbfst[k+1];
CRbfed[k]=CRbfed[k+1];
CRbfcp[k]=CRbfcp[k+1];
end;
end;
else if 0<PRtpat[i]<13 & PRtpat[i]=PRtpat[i+1] & PRtpst[i]=PRtpst[i+1] &
PRtped[i]>=PRtped[i+1]
& (PRtpst[i]~=-3|PRtpst[i+1]~=-3) then do;
cut=2;
numcut=numcut+1;
do k=i+2-numcut to GRB-numcut;
CRbfat[k]=CRbfat[k+1];
CRbfst[k]=CRbfst[k+1];
CRbfed[k]=CRbfed[k+1];
CRbfcp[k]=CRbfcp[k+1];
end;
end;
else if 0<PRtpat[i]<13 & PRtpat[i]=PRtpat[i+1] & PRtpst[i]~=PRtpst[i+1] then
samegrd=1;
end;
** Flag the special cases;
strtneg=0; endneg=0;
do i=1 to GRB;
if 0<CRbfat[i]<13 & CRbfst[i]=-3 then strtneg=1;
if 0<CRbfat[i]<13 & CRbfed[i]=-3 then endneg=1;
if 12<CRbfat[i]<95 then clg=1;
end;
neg3or4=0;
if (CRbfrpev in (-1,-2,-3) & CRbfskev in (-1,-2,-3))|(CRbfrpev=-4 &
CRbfskev=-4) then neg3or4=1;
gapbteq=0;
do i=1 to (GRB-2);
do k=i+2 to GRB;
if 0<CRbfat[i]<13 & CRbfat[i]=CRbfat[k] then gapbteq=1;
end;
end;
gapbteqPR=0;
do i=1 to (GRB-2);
do k=i+2 to GRB;
if 0<alattd[i]<13 & alattd[i]=alattd[k] then gapbteqPR=1;
end;
end;
gapbteqCR=0;
do i=(GRB+1) to (GRC-2);
do j=i+2 to GRC;
if 0<alattd(i)<13 & alattd(i)=alattd(j) then gapbteqCR=1;
end;
end;
strtmis=0; endmis=0;
do i=1 to GRB;
if 0<CRbfat[i]<13 & CRbfst[i] in (-4,.) then strtmis=1;
if 0<CRbfat[i]<13 & CRbfed[i] in (-4,.) then endmis=1;
end;
array vars8 r8bfrpev r8bfskev r8bf2857 r8bfint
r8bfat1-r8bfat15 r8bfat1-r8bfat15
r8bfst1-r8bfst15 r8bfst1-r8bfst15
r8bfed1-r8bfed15 r8bfed1-r8bfed15
r8bfcp1-r8bfcp15 r8bfcp1-r8bfcp15;
array varsC CRbfrpev CRbfskev CRbf2857 CRbfint
CRbfat1-CRbfat15 CRbfat1-CRbfat15
CRbfst1-CRbfst15 CRbfst1-CRbfst15
CRbfed1-CRbfed15 CRbfed1-CRbfed15
CRbfcp1-CRbfcp15 CRbfcp1-CRbfcp15;
do over varsC;
vars8=varsC;
end;
ENDSAS;
Variables Created:
CV_SCH_ATTEND_EVER (NUMS)
CV_SCH_ATTEND_YR (NUMJ)
Variables Used
| Name in Program | Question Name on CD | Name in Program | Question Name on CD | |
| CURGDR1 | YSCH_3500_1997 | S9589113 | YSCH-9589.01.01.03 | |
| HGAR2 | YSCH_2857_1998 | S9589114 | YSCH-9589.01.01.04 | |
| HGAR3 | YSCH_2857_1999 | S9589211 | YSCH-9589.02.01.01 | |
| HGAR4 | YSCH_2857_2000 | S9589212 | YSCH-9589.02.01.02 | |
| HGAR5 | YSCH_2857_2001 | S9589213 | YSCH-9589.02.01.03 | |
| HGAR6 | YSCH_2857_2002 | schint1 | NEWSCHOOL_INTERVIEW.01 | |
| HGAR7 | YSCH_2857_2003 | schint2 | NEWSCHOOL_INTERVIEW.02 | |
| HGAR8 | YSCH_2857_2004 | schint3 | NEWSCHOOL_INTERVIEW.03 | |
| NUMR1 | CV_SCH_ATTEND_EVER_1997 | schint4 | NEWSCHOOL_INTERVIEW.04 | |
| NUMR2 | CV_SCH_ATTEND_EVER_1998 | schint5 | NEWSCHOOL_INTERVIEW.05 | |
| NUMR3 | CV_SCH_ATTEND_EVER_1999 | schint6 | NEWSCHOOL_INTERVIEW.06 | |
| NUMR4 | CV_SCH_ATTEND_EVER_2000 | SCHID1 | NEWSCHOOL_PUBID.01 | |
| NUMR5 | CV_SCH_ATTEND_EVER_2001 | SCHID2 | NEWSCHOOL_PUBID.02 | |
| NUMR6 | CV_SCH_ATTEND_EVER_2002 | SCHID3 | NEWSCHOOL_PUBID.03 | |
| NUMR7 | CV_SCH_ATTEND_EVER_2003 | SCHID4 | NEWSCHOOL_PUBID.04 | |
| S826311 | YSCH-8263.01.01 | SCHID5 | NEWSCHOOL_PUBID.05 | |
| S826312 | YSCH-8263.01.02 | START1M | NEWSCHOOL_START1.01~M | |
| S826321 | YSCH-8263.02.01 | START1Y | NEWSCHOOL_START1.01~Y | |
| S826322 | YSCH-8263.02.02 | START2M | NEWSCHOOL_START1.02~M | |
| S826331 | YSCH-8263.03.01 | START2Y | NEWSCHOOL_START1.02~Y | |
| S841611 | YSCH-8416.01.01 | START3M | NEWSCHOOL_START1.03~M | |
| S841612 | YSCH-8416.01.02 | START3Y | NEWSCHOOL_START1.03~Y | |
| S841621 | YSCH-8416.02.01 | START4M | NEWSCHOOL_START1.04~M | |
| S841622 | YSCH-8416.02.02 | START4Y | NEWSCHOOL_START1.04~Y | |
| S841631 | YSCH-8416.03.01 | START5M | NEWSCHOOL_START1.05~M | |
| S9589111 | YSCH-9589.01.01.01 | START5Y | NEWSCHOOL_START1.05~Y | |
| S9589112 | YSCH-9589.01.01.02 | SYMGRD | SYMBOL!CUR!FIRSTGRADE |
This program is used to count the number of regular schools that the youth ever attended as of the survey date and as of June 30, 2004.
/*The program first count the number of new regular schools that the youth
attended since DLI
to the date of survey (June 30, 2004) by the first enrollment date in each new
school, then
add this number to the created variable in round 7 or round 6 ( if the person is
not inter-
-viewed in round 7) and get the total number of regular schools
that the youth have ever attended to the required date.
When we count the new schools, since we only count the schools form the
youth's 7th grade
through his(her) 12th grade, so we need to check if they do go to these grade in
the new
school before we count it.
If a respondent did not have a parent interview in R1, we lack information on
the number of schools
attended prior to R1 (if they were enr in a grade>7 in R1). Those respondents
receive a -4 in R1
and a -4 in all subsequent rounds for the CVs. */
ARRAY STARTM START1M START2M START3M START4M START5M ;
ARRAY STARTY START1Y START2Y START3Y START4Y START5Y ;
ARRAY START START1-START5;
ARRAY schint schint1-schint5;
ARRAY SCHID SCHID1-SCHID5;
ARRAY DUMGRD DUMGRD1-DUMGRD5;
ARRAY AGAIN AGAIN1-AGAIN5;
/*First, create the dummy variable for each school to indicate if the youth
attended grade 7
through grade 12 in that school.
NOTE: The order to give dummies is very important here, That is, we should
give dummy=-3 first,
then give dummy=1, this way, we won't miss the school as long as one the
grades the kids attend in
that school is between 7 and 12.
DUMGRD1-DUMGRD5= dummy to indicate whether R attended grades 7-12 in schools
1-5
AGAIN1-AGAIN6=dummy to indicate whether school 1-6 is the same school as one
already recorded, to avoid
overcounts
STARTM/Y=start date for a given school*/
DO I=1 TO 5;
DUMGRD[I]=0;
START[I]=-4;
END;
/* R8 reads-in a grade from the prior schint, but no special treatment is
necessary */
IF (-3<=S841611<=-1 OR -3<=S9589111<=-1 OR -3<=S9589112<=-1 OR
-3<=S9589113<=-1 )
OR (-3<=S841612<=-1 ) THEN DUMGRD1=-3;
IF (-3<=S841621<=-1 OR -3<=S9589211<=-1 OR -3<=S9589212<=-1 OR
-3<=S9589213<=-1 )
THEN DUMGRD2=-3;
IF (-3<=S841631<=-1 or -3<=S9589311<=-1 OR -3<=S9589312<=-1 OR
-3<=S9589313<=-1 )
THEN DUMGRD3=-3;
IF (-3<=S841641<=-1) then DUMGRD4=-3;
IF (-3<=S841651 <=-1 or -3<=S9589511<=-1 )then DUMGRD5=-3;
IF (7<=S841611<=12 OR 7<=S9589111<=12 OR 7<=S9589112<=12 OR 7<=S9589113<=12
)
OR (7<=S841612<=12 ) THEN DUMGRD1=1;
IF (7<=S841621<=12 OR 7<=S9589211<=12 OR 7<=S9589212<=12 OR 7<=S9589213<=12
)
THEN DUMGRD2=1;
IF (7<=S841631<=12 or 7<=S9589311<=12 OR 7<=S9589312<=12 OR 7<=S9589313<=12
)
THEN DUMGRD3=1;
IF (7<=S841641<=12) then DUMGRD4=1;
IF (7<=S841651 <=12 or 7<=S9589511<=12 )then DUMGRD5=1;
/*Create a flag (again 1-5) for schools that are reported more than once for
a grade 7-12 in the
same round, using pubid for the school. This will be used to avoid double
counting schools.*/
do i=1 to 5;
again(i)=0;
end;
do i=1 to 5;
if i>=5 and schid(i)>0 and dumgrd(i)=1 and dumgrd(i-4)=1 and schid(i)=schid(i-4)
then again(i)=1;
if i>=4 and schid(i)>0 and dumgrd(i)=1 and dumgrd(i-3)=1 and schid(i)=schid(i-3)
then again(i)=1;
if i>=3 and schid(i)>0 and dumgrd(i)=1 and dumgrd(i-2)=1 and schid(i)=schid(i-2)
then again(i)=1;
if i>=2 and schid(i)>0 and dumgrd(i)=1 and dumgrd(i-1)=1 and schid(i)=schid(i-1)
then again(i)=1;
end;
array startdm startdm1-startdm5;
do i=1 to 5;
if starty[i]>0 or starty[i] in (-1,-2,-3) then startdm[i]=1;
else startdm[i]=0;
end;
/*Next, calculate NUMJR8 and NUMR8.*/
/* Calculate the accumulated month of the start date. */
DO I=1 TO 5;
IF STARTY[I]>0 AND STARTM[I]>0 THEN START[I]=12*(STARTY[I]-1990)+STARTM[I];
END;
prenum=0;
if NUMR7>0 then prenum= NUMR7;
else if NUMR7 in (-4, -5) and NUMR6>0 then prenum= NUMR6;
else if NUMR7 in (-4, -5) and NUMR6 in (-4, -5) and NUMR5>0 then prenum=
NUMR5;
else if NUMR7 in (-4, -5) and NUMR6 in (-4, -5) and NUMR5 in (-4, -5) and
NUMR4>0 then prenum= NUMR4;
else if NUMR7 in (-4, -5) and NUMR6 in (-4, -5) and NUMR5 in (-4, -5) and
NUMR4 in (-4, -5) and NUMR3>0 then prenum= NUMR3;
else if NUMR7 in (-4, -5) and NUMR6 in (-4, -5) and NUMR5 in (-4, -5) and
NUMR4 in (-4, -5)
and NUMR3 in (-4, -5) and NUMR2>0 then prenum= NUMR2;
else if NUMR7 in (-4, -5) and NUMR6 in (-4, -5) and NUMR5 in (-4, -5) and
NUMR4 in (-4, -5)
and NUMR3 in (-4, -5) and NUMR2 in (-4, -5) and NUMR1>0 then prenum= NUMR1;
NUMJR8=0;
NUMR8=0;
/**** count the new schools for all the cases.*****/
DO I=1 TO 5;
IF schint[I]=8 and again(i)=0 THEN DO;
IF DUMGRD[I]=1 THEN NUMR8=numR8+1;
IF DUMGRD[I]=1 AND (0<START[I]<=174 OR 0<STARTY[I]<2004) THEN
NUMJR8=numJR8+1;
END;
END;
if -3<=schint1<=-1 or -3<=schint2<=-1 or -3<=schint3<=-1 or -3<=schint4<=-1
or -3<=schint5<=-1 then do;
numr8=-3;
numjr8=-3;
end;
/**** If the respondent is not interviewed in Round 7 and has no number of
schools info. in
previous schints, or if number of school info. in round 6 is in (0,-4), then
count all the schools.
That is, for these people, the above count will be overwritten.****/
flagprev=0;
flagprev=0;
if (numr7=-5 and numr6 in (0,-4,-5) and numr5 in (0,-4,-5) and numr4 in
(0,-4,-5) and
numr3 in (0,-4,-5) and numr2 in (0,-4,-5) and numr1 in (0,-4)) then do;
numr8=0;
numjr8=0;
flagprev=1;
do i=1 to 5;
IF DUMGRD[I]=1 and again(i)=0 THEN NUMR8=NUMR8+1;
IF DUMGRD[I]=1 and again(i)=0 AND (0<START[I]<=174 OR 0<STARTY[I]<2004
or (schint[i] in (1,2,3,4,5,6,7) and
again(i)=0)) THEN NUMJR8=NUMJR8+1;
end;
end;
IF DUMGRD1=-3 OR DUMGRD2=-3 OR DUMGRD3=-3 OR DUMGRD4=-3 OR DUMGRD5=-3 THEN
DO;
NUMR8=-3;
NUMJR8=-3;
END;
/* if school are rported in round 8*/
IF (schint1=8 AND AGAIN1 =0 AND DUMGRD1=1 AND ((START1Y=2004 AND
-4<START1M<0) OR -4<START1Y<0)) OR
(schint2=8 AND AGAIN2 =0 AND DUMGRD2=1 AND ((START2Y=2004 AND -4<START2M<0)
OR -4<START2Y<0)) OR
(schint3=8 AND AGAIN3 =0 AND DUMGRD3=1 AND ((START3Y=2004 AND -4<START3M<0)
OR -4<START3Y<0)) OR
(schint4=8 AND AGAIN4 =0 AND DUMGRD4=1 AND ((START4Y=2004 AND -4<START4M<0)
OR -4<START4Y<0)) OR
(schint5=8 AND AGAIN5 =0 AND DUMGRD5=1 AND ((START5Y=2004 AND -4<START5M<0)
OR -4<START5Y<0))
THEN NUMJR8=-3;
/*We then add the above two numbers to the correponding variables from round
1 to round 7.*/
IF NUMJR8>=0 then NUMJ=NUMJR8+prenum;
IF NUMR8>=0 THEN NUMS=NUMR8+prenum;
/*For the youth who didn't answer the number of schools in round 1, we
distinguish them into
three cases
1)If the 'grade currently attended' in round 1 is <=7 and the 'highest grade
attended'
in round 8 >= 7, we use the number from round 8 as the total number.
2)If the 'grade currently attended' in round 1 >7, we use -4 for the total
number.
3)If both the 'grade currently attended'
in round 1 and the 'highest grade attended' in round 8 are <7, we use -4 for
the total number.*/
IF NUMR1 in (0,-4)and numr7=-5 and numr6=-5 and numr5=-5 and numr4=-5 and
numr3=-5 and numr2=-5 THEN DO;
IF CURGDR1<=7 THEN DO;
NUMJ=NUMJR8;
NUMS=NUMR8;
END;
IF CURGDR1>7 or NUMR1 in (-1,-2,-3) THEN DO;
NUMJ=-3;
NUMS=-3;
END;
IF CURGDR1<7 AND HGAR8<7 THEN DO;
NUMJ=-4;
NUMS=-4;
END;
END;
IF NUMR1 in (-4,0) and CURGDR1>7 then do;
nums=-4;
numj=-4;
end;
IF -3<=NUMR1<=-1 OR -3<=NUMR2<=-1 OR NUMR3=-3 OR NUMR4=-3 OR NUMR5=-3 OR
NUMR6=-3
or NUMR7=-3 or NUMJR8=-3 THEN NUMJ=-3;
IF -3<=NUMR1<=-1 OR -3<=NUMR2<=-1 OR NUMR3=-3 OR NUMR4=-3 OR NUMR5=-3 OR
NUMR6=-3
or NUMR7=-3 or NUMR8=-3 THEN NUMS=-3;
if HGAR8<7 then do;
numj=-4;
nums=-4;
end;
if nums<numR7 and numR7 ne -5 and int_y ne -5 and nums ne -3 then flagcheck=1;
if flagcheck=1 then do;
nums=prenum;
numj=prenum;
end;
if int_y=-5 THEN DO;
NUMJR8=-5;
NUMR8=-5;
NUMJ=-5;
NUMS=-5;
END;
if pubid=1398 then do;
NUMJR8=-5;
NUMR8=-5;
NUMJ=-5;
NUMS=-5;
END;
endsas;
Variables Created:
CV_BA_CREDITS.01-.05
CV_ASSOC_CREDITS.01-.05
Variables Used
|
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
||
| Round 1 | Round 4 cont'd | Round 7 cont'd | |||||
| asctr1_1 | CV_ASSOC_CREDITS | bactr4_1 | CV_BA_CREDITS.01 | asctr7_3 | CV_ASSOC_CREDITS.03 | ||
| bactr1_1 | CV_BA_CREDITS | bactr4_2 | CV_BA_CREDITS.02 | asctr7_4 | CV_ASSOC_CREDITS.04 | ||
| bactr4_3 | CV_BA_CREDITS.03 | bactr7_1 | CV_BA_CREDITS.01 | ||||
| Round 2 | bactr4_4 | CV_BA_CREDITS.04 | bactr7_2 | CV_BA_CREDITS.02 | |||
| e27388r2_1 | YSCH-27388.01 | bactr7_3 | CV_BA_CREDITS.03 | ||||
| e27388r2_2 | YSCH-27388.02 | Round 5 | bactr7_4 | CV_BA_CREDITS.04 | |||
| e27388r2_3 | YSCH-27388.03 | e27388r5_1 | YSCH-27388.01 | bactr7_5 | CV_BA_CREDITS.05 | ||
| e27388r2_4 | YSCH-27388.04 | e27388r5_2 | YSCH-27388.02 | ||||
| e27388r2_5 | YSCH-27388.05 | e27388r5_3 | YSCH-27388.03 | Round 8 | |||
| schidr2_1 | NEWSCHOOL_PUBID.01 | e27388r5_4 | YSCH-27388.04 | e27337.01 | YSCH-27337.01 | ||
| schidr2_2 | NEWSCHOOL_PUBID.02 | e27388r5_5 | YSCH-27388.05 | e27337.02 | YSCH-27337.02 | ||
| schidr2_3 | NEWSCHOOL_PUBID.03 | e27388r5_6 | YSCH-27388.06 | e27337.03 | YSCH-27337.03 | ||
| schidr2_4 | NEWSCHOOL_PUBID.04 | schidr5__1 | NEWSCHOOL_PUBID.01 | e27337.04 | YSCH-27337.04 | ||
| schidr2_5 | NEWSCHOOL_PUBID.05 | schidr5__2 | NEWSCHOOL_PUBID.02 | e27337.05 | YSCH-27337.05 | ||
| schidr2_6 | NEWSCHOOL_PUBID.06 | schidr5__3 | NEWSCHOOL_PUBID.03 | e25297.01 | YSCH-25297.01 | ||
| asctr2_1 | CV_ASSOC_CREDITS.01 | schidr5__4 | NEWSCHOOL_PUBID.04 | e25297.02 | YSCH-25297.02 | ||
| asctr2_2 | CV_ASSOC_CREDITS.02 | schidr5__5 | NEWSCHOOL_PUBID.05 | e25297.03 | YSCH-25297.03 | ||
| asctr2_3 | CV_ASSOC_CREDITS.03 | schidr5__6 | NEWSCHOOL_PUBID.06 | e25297.04 | YSCH-25297.04 | ||
| asctr2_4 | CV_ASSOC_CREDITS.04 | asctr5_1 | CV_ASSOC_CREDITS.01 | e25654.01 | YSCH-25654.01 | ||
| asctr2_5 | CV_ASSOC_CREDITS.05 | asctr5_2 | CV_ASSOC_CREDITS.02 | e16200.01 | YSCH-16200.01 | ||
| bactr2_1 | CV_BA_CREDITS.01 | asctr5_3 | CV_ASSOC_CREDITS.03 | e26931.01 | YSCH-26931.01 | ||
| bactr2_2 | CV_BA_CREDITS.02 | asctr5_4 | CV_ASSOC_CREDITS.04 | e26931.02 | YSCH-26931.02 | ||
| bactr2_3 | CV_BA_CREDITS.03 | asctr5_5 | CV_ASSOC_CREDITS.05 | e26931.03 | YSCH-26931.03 | ||
| bactr2_4 | CV_BA_CREDITS.04 | asctr5_6 | CV_ASSOC_CREDITS.06 | e26931.04 | YSCH-26931.04 | ||
| bactr2_5 | CV_BA_CREDITS.05 | bactr5_1 | CV_BA_CREDITS.01 | e26932.01 | YSCH-26932.01 | ||
| bactr5_2 | CV_BA_CREDITS.02 | e26932.02 | YSCH-26932.02 | ||||
| Round 3 | bactr5_3 | CV_BA_CREDITS.03 | e26932.03 | YSCH-26932.03 | |||
| e27388r3_1 | YSCH-27388.01 | bactr5_4 | CV_BA_CREDITS.04 | e26932.04 | YSCH-26932.04 | ||
| e27388r3_2 | YSCH-27388.02 | bactr5_5 | CV_BA_CREDITS.05 | e26940.01 | YSCH-26940.01 | ||
| e27388r3_3 | YSCH-27388.03 | bactr5_6 | CV_BA_CREDITS.06 | e26940.02 | YSCH-26940.02 | ||
| e27388r3_4 | YSCH-27388.04 | e26940.03 | YSCH-26940.03 | ||||
| e27388r3_5 | YSCH-27388.05 | Round 6 | e26940.04 | YSCH-26940.04 | |||
| schidr3_1 | NEWSCHOOL_PUBID.01 | e27388r6_1 | YSCH-27388.01 | e26945.01 | YSCH-26945.01 | ||
| schidr3_2 | NEWSCHOOL_PUBID.02 | e27388r6_2 | YSCH-27388.02 | e26945.02 | YSCH-26945.02 | ||
| schidr3_3 | NEWSCHOOL_PUBID.03 | e27388r6_3 | YSCH-27388.03 | e26945.03 | YSCH-26945.03 | ||
| schidr3_4 | NEWSCHOOL_PUBID.04 | e27388r6_4 | YSCH-27388.04 | e27388.01 | YSCH-27388.01 | ||
| schidr3_5 | NEWSCHOOL_PUBID.05 | e27388r6_5 | YSCH-27388.05 | e27388.02 | YSCH-27388.02 | ||
| schidr3_6 | NEWSCHOOL_PUBID.06 | schidr6_1 | NEWSCHOOL_PUBID.01 | e27388.03 | YSCH-27388.03 | ||
| schidr3_7 | NEWSCHOOL_PUBID.07 | schidr6_2 | NEWSCHOOL_PUBID.02 | e27388.04 | YSCH-27388.04 | ||
| asctr3_1 | CV_ASSOC_CREDITS.01 | schidr6_3 | NEWSCHOOL_PUBID.03 | e22800.01 | YSCH-22800.01 | ||
| asctr3_2 | CV_ASSOC_CREDITS.02 | schidr6_4 | NEWSCHOOL_PUBID.04 | e22800.02 | YSCH-22800.02 | ||
| asctr3_3 | CV_ASSOC_CREDITS.03 | asctr6_1 | CV_ASSOC_CREDITS.01 | e22800.03 | YSCH-22800.03 | ||
| asctr3_5 | CV_ASSOC_CREDITS.05 | asctr6_2 | CV_ASSOC_CREDITS.02 | e22800.04 | YSCH-22800.04 | ||
| bactr3_1 | CV_BA_CREDITS.01 | asctr6_3 | CV_ASSOC_CREDITS.03 | e23000.01 | YSCH-23000.01 | ||
| bactr3_2 | CV_BA_CREDITS.02 | asctr6_4 | CV_ASSOC_CREDITS.04 | e23000.02 | YSCH-23000.02 | ||
| bactr3_3 | CV_BA_CREDITS.03 | bactr6_1 | CV_BA_CREDITS.01 | e23000.03 | YSCH-23000.03 | ||
| bactr3_4 | CV_BA_CREDITS.04 | bactr6_2 | CV_BA_CREDITS.02 | e23200.01 | YSCH-23200.01 | ||
| bactr3_5 | CV_BA_CREDITS.05 | bactr6_3 | CV_BA_CREDITS.03 | e23200.02 | YSCH-23200.02 | ||
| bactr6_4 | CV_BA_CREDITS.04 | e23200.03 | YSCH-23200.03 | ||||
| Round 4 | bactr6_5 | CV_BA_CREDITS.05 | e23200.04 | YSCH-23200.04 | |||
| e27388r4_1 | YSCH-27388.01 | e23400.01 | YSCH-23400.01 | ||||
| e27388r4_2 | YSCH-27388.02 | Round 7 | e23400.02 | YSCH-23400.02 | |||
| e27388r4_3 | YSCH-27388.03 | e27388r7_1 | YSCH-27388.01 | e23400.03 | YSCH-23400.03 | ||
| e27388r4_4 | YSCH-27388.04 | e27388r7_2 | YSCH-27388.02 | pubid | PUBID | ||
| schidr4_1 | NEWSCHOOL_PUBID.01 | e27388r7_3 | YSCH-27388.03 | scode1 | NEWSCHOOL_SCHCODE.01 | ||
| schidr4_2 | NEWSCHOOL_PUBID.02 | e27388r7_4 | YSCH-27388.04 | scode2 | NEWSCHOOL_SCHCODE.02 | ||
| schidr4_3 | NEWSCHOOL_PUBID.03 | e27388r7_5 | YSCH-27388.05 | scode3 | NEWSCHOOL_SCHCODE.03 | ||
| schidr4_4 | NEWSCHOOL_PUBID.04 | schidr7_1 | NEWSCHOOL_PUBID.01 | scode4 | NEWSCHOOL_SCHCODE.04 | ||
| schidr4_5 | NEWSCHOOL_PUBID.05 | schidr7_2 | NEWSCHOOL_PUBID.02 | scode5 | NEWSCHOOL_SCHCODE.05 | ||
| asctr4_1 | CV_ASSOC_CREDITS.01 | schidr7_3 | NEWSCHOOL_PUBID.03 | SCHID_1 | NEWSCHOOL_PUBID.01 | ||
| asctr4_2 | CV_ASSOC_CREDITS.02 | schidr7_4 | NEWSCHOOL_PUBID.04 | SCHID_2 | NEWSCHOOL_PUBID.02 | ||
| asctr4_3 | CV_ASSOC_CREDITS.03 | asctr7_1 | CV_ASSOC_CREDITS.01 | SCHID_3 | NEWSCHOOL_PUBID.03 | ||
| asctr4_4 | CV_ASSOC_CREDITS.04 | asctr7_2 | CV_ASSOC_CREDITS.02 | SCHID_4 | NEWSCHOOL_PUBID.04 | ||
| SCHID_5 | NEWSCHOOL_PUBID.05 |
This program calculates fraction of credits earned toward a bachelor's degree (CV_BA_CREDITS) and fraction of credits earned toward a associate's degree (CV_ASSOC_CREDITS) for round 8.
*** arrays for Rounds 1-7;
array asctr2 (*) asctr2_1-asctr2_6; * Fraction of credits earned for Round2;
array bactr2 (*) bactr2_1-bactr2_6; * Fraction of credits earned for Round2;
array asctr3 (*) asctr3_1-asctr3_6; * Fraction of credits earned for Round3;
array bactr3 (*) bactr3_1-bactr3_6; * Fraction of credits earned for Round3;
array asctr4 (*) asctr4_1-asctr4_6; * Fraction of credits earned for Round4;
array bactr4 (*) bactr4_1-bactr4_6; * Fraction of credits earned for Round4;
array asctr5 (*) asctr5_1-asctr5_6; * Fraction of credits earned for Round5;
array bactr5 (*) bactr5_1-bactr5_6; * Fraction of credits earned for Round5;
array asctr6 (*) asctr6_1-asctr6_6; * Fraction of credits earned for Round6;
array bactr6 (*) bactr6_1-bactr6_6; * Fraction of credits earned for Round6;
array asctr7 (*) asctr7_1-asctr7_6; * Fraction of credits earned for Round7;
array bactr7 (*) bactr7_1-bactr7_6; * Fraction of credits earned for Round7;
array e27388r2 (*) e27388r2_1-e27388r2_6; * Total credits needed for
graduation, Round2;
array e27388r3 (*) e27388r3_1-e27388r3_6; * Total credits needed for
graduation, Round3;
array e27388r4 (*) e27388r4_1-e27388r4_6; * Total credits needed for
graduation, Round4;
array e27388r5 (*) e27388r5_1-e27388r5_6; * Total credits needed for
graduation, Round5;
array e27388r6 (*) e27388r6_1-e27388r6_6; * Total credits needed for
graduation, Round6;
array e27388r7 (*) e27388r7_1-e27388r7_6; * Total credits needed for
graduation, Round7;
array tasctr2 (*) tasctr2_1-tasctr2_6; * Total credits (not fraction) earned
with DLI schools, Round2;
array tbactr2 (*) tbactr2_1-tbactr2_6; * Total credits (not fraction) earned
with DLI schools, Round2;
array tasctr3 (*) tasctr3_1-tasctr3_6; * Total credits (not fraction) earned
with DLI schools, Round3;
array tbactr3 (*) tbactr3_1-tbactr3_6; * Total credits (not fraction) earned
with DLI schools, Round3;
array tasctr4 (*) tasctr4_1-tasctr4_6; * Total credits (not fraction) earned
with DLI schools, Round4;
array tbactr4 (*) tbactr4_1-tbactr4_6; * Total credits (not fraction) earned
with DLI schools, Round4;
array tasctr5 (*) tasctr5_1-tasctr5_6; * Total credits (not fraction) earned
with DLI schools, Round5;
array tbactr5 (*) tbactr5_1-tbactr5_6; * Total credits (not fraction) earned
with DLI schools, Round5;
array tasctr6 (*) tasctr6_1-tasctr6_6; * Total credits (not fraction) earned
with DLI schools, Round6;
array tbactr6 (*) tbactr6_1-tbactr6_6; * Total credits (not fraction) earned
with DLI schools, Round6;
array tasctr7 (*) tasctr7_1-tasctr7_6; * Total credits (not fraction) earned
with DLI schools, Round7;
array tbactr7 (*) tbactr7_1-tbactr7_6; * Total credits (not fraction) earned
with DLI schools, Round7;
array schidr2 (6) schidr2_1-schidr2_6; * School public id for Round 2;
array schidr3 (6) schidr3_1-schidr3_6; * School public id for Round 3;
array schidr4 (6) schidr4_1-schidr4_6; * School public id for Round 4;
array schidr5 (6) schidr5_1-schidr5_6; * School public id for Round 5;
array schidr6 (6) schidr6_1-schidr6_6; * School public id for Round 6;
array schidr7 (6) schidr7_1-schidr7_6; * School public id for Round 7;
* Note: There are a maximum of five schools reported in Round 8.;
*** arrays for Round 8;
array e22800 (5) e228001-e228005; * Total no. of credits earned;
array e23000 (5) e230001-e230005; * (Corrected) Total no. of credits earned;
array e27337 (5) e273371-e273375; * What type of diploma working towards;
array e27388 (5) e273881-e273885; * Total credits required to earn the
degree;
array e23200 (5) e232001-e232005; * 1(0): R needs more (does not need any
more) credits to graduate;
array e23400 (5) e234001-e234005; * Total no. credits still needed to
graduate (asked if e23200=1);
array e25297 (5) e252971-e252975; * CAPI chk: Is this a DLI school?;
array SCHID (5) SCHID_1-SCHID_5; * School public id for Round 7;
array scode (5) scode1-scode5; * School code - type of school or college;
array e26931 (*) e269311-e269315;
array e26932 (*) e269321-e269325;
array e26940 (*) e269401-e269405;
array e26945 (*) e269451-e269455;
array tcred (5) tcred1-tcred5; * Total credits (not fraction) earned;
array tbac (5) tbac1-tbac5; * Total credits (not fraction) earned towards BA
degree;
array tasc (5) tasc1-tasc5; * Total credits (not fraction) earned towards
assoc degree;
array noterm (5) noterm1-noterm5; * Attended but did not complete any term;
array tncred (5) tncred1-tncred5; * Sum of transfer, test and H.S. credits;
array flag (5) flag1-flag5; * When inconsistency in credits reported;
array crcred (5) crcred1-crcred5; * C.V. computed using current credits,
case 1;
array incred (5) incred1-incred5; * C.V. computed using incoming credits,
case 2;
array dlcred (5) dlcred1-dlcred5; * C.V. computed using DLI credits, case 3;
array errci (5) errci1-errci5; * Whether both crcred and incred are 1;
array errcd (5) errcd1-errcd5; * Whether both crcred and dlcred are 1;
array errdi (5) errdi1-errdi5; * Whether both dlcred and incred are 1;
array ovr (5) ovr1-ovr5; * Fraction of AA/BA Credits earned are greater than
100;
array same (5) same1-same5; * Identify the round R last attended current
college.;
array dgchk (5) dgchk1-dgchk5; * Checks if school code showed R was in
college but degree working
towards was skipped and R had already received GED or HS Diploma.;
array dtprb (5) dtprb1-dtprb5; * Checks if R reports needs more credits to
graduate but when asked
how many more reports ZERO;
array dliprb (5) dliprb1-dliprb5; * If CAPI chk shows this is not a DLI
school but it actually is.;
array ngrd (5) ngrd1-ngrd5; * Checks whether the computed fraction of
credits needed to graduate
is 100 even though YSCH-23200=0. (YSCH-23200: Does this mean you
need no more credits to get the degree you're working toward?).;
array miss (5) miss1-miss5; * Checks whether created variables CVs are
missing although R reports
attending a college;
array nfrct (5) nfrct1-nfrct5; * CVs are recalculated when CV>100 using the
sum of total credits
and credits remaining in the denominator instead of total credits
required.;
array olfrct (5) olfrct1-olfrct5; * DLI CVs used if CVs this round>100 and
no new term is completed.;
array nofrct (5) nofrct1-nofrct5; * Fraction of credits needed to graduate
(YSCH-23400) is missing for
cases where CVs>100 and so cannot be recomputed. Are coded -3.;
array s (7,6) schidr1_1-schidr1_6 schidr2_1-schidr2_6 schidr3_1-schidr3_6
schidr4_1-schidr4_6 schidr5_1-schidr5_6 schidr6_1-schidr6_6
schidr7_1-schidr7_6;
array a (7,6) asctr1_1-asctr1_6 asctr2_1-asctr2_6 asctr3_1-asctr3_6
asctr4_1-asctr4_6 asctr5_1-asctr5_6 asctr6_1-asctr6_6 asctr7_1-asctr7_6;
array b (7,6) bactr1_1-bactr1_6 bactr2_1-bactr2_6 bactr3_1-bactr3_6
bactr4_1-bactr4_6 bactr5_1-bactr5_6 bactr6_1-bactr6_6 bactr7_1-bactr7_6;
array e (7,6) e27337r2_1-e27337r2_6 e27337r2_1-e27337r2_6
e27337r3_1-e27337r3_6
e27337r4_1-e27337r4_6 e27337r5_1-e27337r5_6 e27337r6_1-e27337r6_6
e27337r7_1-e27337r7_6;
* Identifying the college that R reported attending in this round is the
same one that R attended in
some earlier round;
***** ATTENTION! Definition is given later!*****;
array r78m (6,5) r78m11-r78m15 r78m21-r78m25 r78m31-r78m35 r78m41-r78m45
r78m51-r78m55 r78m61-r78m65;
array r68m (6,5) r68m11-r68m15 r68m21-r68m25 r68m31-r68m35 r68m41-r68m45
r68m51-r68m55 r68m61-r68m65;
array r58m (6,5) r58m11-r58m15 r58m21-r58m25 r58m31-r58m35 r58m41-r58m45
r58m51-r58m55 r58m61-r58m65;
array r48m (6,5) r48m11-r48m15 r48m21-r48m25 r48m31-r48m35 r48m41-r48m45
r48m51-r48m55 r58m61-r58m65;
array r38m (6,5) r38m11-r38m15 r38m21-r38m25 r38m31-r38m35 r38m41-r38m45
r38m51-r38m55 r38m61-r38m65;
array r28m (6,5) r28m11-r28m15 r28m21-r28m25 r28m31-r28m35 r28m41-r28m45
r28m51-r28m55 r28m61-r28m65;
*****************************************;
array asfrac (5) asfrac1-asfrac5; * Created variable: fraction credits
earned for associate credits;
array bafrac (5) bafrac1-bafrac5; * Created variable: fraction credits
earned for bachelor credits;
** If a R completed at least one term, CAPI verifies the total credits for
each school at YSCH-22800.
Due to a design err, the check question YSCH-22800 does not include Round 2
college credits even
when the SCHID's from both rounds match. However, if a R sees this incorrect
count and tells us it is
correct, we will use it. Rs who have yet to complete a term at a given
school will not be asked
YSCH-22800. The only credits possible for these people are incoming credits
at YSCH-26521, or the DLI
Round created variable for a matching school.;
/*********************************************
There are 3 ways to compute credits in this program, which are all mutually
exclusive:
Case 1: If the R completed any terms, we use YSCH-22800 or YSCH-23000.
Case 2: If the R has not completed any terms and reported a new school, then
we use the incoming
credits (26932 OR 26945). For school #1 use YSCH-16200.
Case 3: If the R has not completed any terms and reported a dli school, then
we use the total credit
from the dli round (through the SCHID match variable described below).
**********************************************/
** Check for people who attended college but were skipped out of YSCH-22800
and YSCH-23000 (because of
no completed terms).;
do i=1 to 5;
if e27337(i) in (1,3) and e22800(i)=-4 and e23000(i)=-4 then noterm(i)=1;
end;
** For people who did not complete any terms, the only data available is the
incoming credits count
(that is CASE 2) and the created variable from their DLI round (that is CASE
3). These two pieces of
data are exclusive.;
if schidr2_1~=-5 then DLI=2;
if schidr3_1~=-5 then DLI=3;
if schidr4_1~=-5 then DLI=4;
if schidr5_1~=-5 then DLI=5;
if schidr6_1~=-5 then DLI=6;
if schidr7_1~=-5 then DLI=7;
do i=1 to 5;
if noterm(i)=1 then do;
if (bactr7(i)>0 or asctr7(i)>0) & DLI=7 then back7=1;
if (bactr6(i)>0 or asctr6(i)>0) & DLI=6 then back6=1;
if (bactr5(i)>0 or asctr5(i)>0) & DLI=5 then back5=1;
if (bactr4(i)>0 or asctr4(i)>0) & DLI=4 then back4=1;
if (bactr3(i)>0 or asctr3(i)>0) & DLI=3 then back3=1;
if (bactr2(i)>0 or asctr2(i)>0) & DLI=2 then back2=1;
end;
end;
** Check for cases where R says No to "Does this mean you need no more
credits to get the degree you're
working toward?" but report ZERO credits for the follow-up question "How
many more credits would you
need?";
do i=1 to 5;
if e23200(i)=0 & e23400(i)=0 then do;
dtprb(i)=1;
dataprb=1;
end;
end;
*** Case 1;
do i=1 to 5;
if e22800(i)>-4 then do;
tcred(i)=e22800(i);
crcred(i)=1;
end;
if e23000(i)>-4 then do;
tcred(i)=e23000(i);
crcred(i)=1;
end;
end;
*** Case 3: The last data source for credits are from previous rounds. Begin
by matching current Round
colleges to DLI colleges using the schools' SCHID. Note that this is only
used when there are no
completed terms in the current Round (and thus no answer to YSCH-22800) and
this school is a dli
school .;
* Define r57m13 as the dummy variable that equals one when the 1st college
on the Round5 school roster
and 3rd college on the Round7 roster have the same SCHID. Define r47m14 as
the dummy variable that
equals one when the 1st college on the Round4 school roster and the 4th
college on the Round7 roster
have the same SCHID. The "57" match variables require that R missed the
Round 6 interview. Any college
from Round1 is represented in the "first" position in the Round 2 created
variables i.e. ASFRAC1
(Round 2) is a school from Round 1.;
** If CAPI chk shows this is not a DLI school but it actually is.;
do i=1 to 5;
do j=1 to 6;
if e25297(i)=0 & SCHID(i)>=0 then do;
if SCHID(i)=schidr7(j) & DLI=7 then dliprb(i)=1;
if SCHID(i)=schidr6(j) & DLI=6 then dliprb(i)=1;
if SCHID(i)=schidr5(j) & DLI=5 then dliprb(i)=1;
if SCHID(i)=schidr4(j) & DLI=4 then dliprb(i)=1;
if SCHID(i)=schidr3(j) & DLI=3 then dliprb(i)=1;
if SCHID(i)=schidr2(j) & DLI=2 then dliprb(i)=1;
end;
end;
end;
** If any SCHID from the 1st position in Round 2/3/4/5/6/7 matches with any
SCHID in Round8;
do i=1 to 6;
do j=1 to 5;
if schidr7(i)=SCHID(j) & DLI=7 & SCHID(j)>0 then do;
r78m(i,j)=1;
same(j)=7;
end;
if schidr6(i)=SCHID(j) & DLI=6 & SCHID(j)>0 then do;
r68m(i,j)=1;
same(j)=6;
end;
if schidr5(i)=SCHID(j) & DLI=5 & SCHID(j)>0 then do;
r58m(i,j)=1;
same(j)=5;
end;
if schidr4(i)=SCHID(j) & DLI=4 & SCHID(j)>0 then do;
r48m(i,j)=1;
same(j)=4;
end;
if schidr3(i)=SCHID(j) & DLI=3 & SCHID(j)>0 then do;
r38m(i,j)=1;
same(j)=3;
end;
if schidr2(i)=SCHID(j) & DLI=2 & SCHID(j)>0 then do;
r28m(i,j)=1;
same(j)=2;
end;
end;
end;
** We will accept dli credits without a matching degree working towards an
answer from current and dli
round. For example, if a R reports working toward a associate's in his/her
dli round and then reports
working toward a bachelor's in the current round, we will still use the
total dli credits in the
current round created variable, as long as the SCHID's match (i.e., it is
the same school).;
** Calculating the total credits have earned towards BA/Assoc degrees for
previous rounds, that is
tasctr2/3/4/5/6/7 and tbactr2/3/4/5/6/7;
do i=1 to 6;
if asctr2(i)>=0 then tasctr2(i)=round((asctr2(i)*e27388r2(i)/100),1);
if asctr3(i)>=0 then tasctr3(i)=round((asctr3(i)*e27388r3(i)/100),1);
if asctr4(i)>=0 then tasctr4(i)=round((asctr4(i)*e27388r4(i)/100),1);
if asctr5(i)>=0 then tasctr5(i)=round((asctr5(i)*e27388r5(i)/100),1);
if asctr6(i)>=0 then tasctr6(i)=round((asctr6(i)*e27388r6(i)/100),1);
if asctr7(i)>=0 then tasctr7(i)=round((asctr7(i)*e27388r7(i)/100),1);
if bactr2(i)>=0 then tbactr2(i)=round((bactr2(i)*e27388r2(i)/100),1);
if bactr3(i)>=0 then tbactr3(i)=round((bactr3(i)*e27388r3(i)/100),1);
if bactr4(i)>=0 then tbactr4(i)=round((bactr4(i)*e27388r4(i)/100),1);
if bactr5(i)>=0 then tbactr5(i)=round((bactr5(i)*e27388r5(i)/100),1);
if bactr6(i)>=0 then tbactr6(i)=round((bactr6(i)*e27388r6(i)/100),1);
if bactr7(i)>=0 then tbactr7(i)=round((bactr7(i)*e27388r7(i)/100),1);
if asctr2(i)<0 then tasctr2(i)=asctr2(i);
if asctr3(i)<0 then tasctr3(i)=asctr3(i);
if asctr4(i)<0 then tasctr4(i)=asctr4(i);
if asctr5(i)<0 then tasctr5(i)=asctr5(i);
if asctr6(i)<0 then tasctr6(i)=asctr6(i);
if asctr7(i)<0 then tasctr7(i)=asctr7(i);
if bactr2(i)<0 then tbactr2(i)=bactr2(i);
if bactr3(i)<0 then tbactr3(i)=bactr3(i);
if bactr4(i)<0 then tbactr4(i)=bactr4(i);
if bactr5(i)<0 then tbactr5(i)=bactr5(i);
if bactr6(i)<0 then tbactr6(i)=bactr6(i);
if bactr7(i)<0 then tbactr7(i)=bactr7(i);
end;
do i=1 to 6;
do j=1 to 5;
if tasctr2(i)=>0 & r28m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tasctr2(i);
dlcred(j)=1; end;
if tbactr2(i)=>0 & r28m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tbactr2(i);
dlcred(j)=1; end;
if tasctr3(i)=>0 & r38m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tasctr3(i);
dlcred(j)=1; end;
if tbactr3(i)=>0 & r38m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tbactr3(i);
dlcred(j)=1; end;
if tasctr4(i)=>0 & r48m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tasctr4(i);
dlcred(j)=1; end;
if tbactr4(i)=>0 & r48m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tbactr4(i);
dlcred(j)=1; end;
if tasctr5(i)=>0 & r58m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tasctr5(i);
dlcred(j)=1; end;
if tbactr5(i)=>0 & r58m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tbactr5(i);
dlcred(j)=1; end;
if tasctr6(i)=>0 & r68m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tasctr6(i);
dlcred(j)=1; end;
if tbactr6(i)=>0 & r68m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tbactr6(i);
dlcred(j)=1; end;
if tasctr7(i)=>0 & r78m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tasctr7(i);
dlcred(j)=1; end;
if tbactr7(i)=>0 & r78m(i,j)=1 & e22800(j)=-4 then do; tcred(j)=tbactr7(i);
dlcred(j)=1; end;
end;
end;
*** Case 2: The following are people who reported a new school and have no
completed terms (and thus no
answer to YSCH-22800). Use incoming credits.;
do i=1 to 5;
if e26931(i) in (0,1) & e22800(i)=-4 & e23000(i)=-4 then do;
incred(i)=1;
if e26931(i)=0 & e26940(i)=1 then tcred(i)=e26932(i);
else tcred(i)=e26945(i);
end;
end;
** YSCH-16200 only applies to school #1. It is an incoming credits question,
and is only used when
YSCH-22800 and YSCH-23000 are valid skipped. This is asked only if a DLI
college is reported and the
incoming credits reported is refused/dont know.;
if e162001>-4 & e228001=-4 & e230001=-4 then do;
tcred1=e162001;
incred1=2;
end;
** Check that the incoming credits (YSCH-162001) for school #1 equals the
copmuted credits from that
school. If R answers that the incoming credits are wrong then YSCH-16200.01
is asked. Thus
YSCH-16200.01 is given precedence.;
if dlcred1=1 & incred1=2 & tcred1~=e162001 & e256541~=1 then incredprb=1;
if dlcred1=1 & incred1=2 & tcred1~=e162001 & e256541=1 then incredprb=0;
** Check to make sure the three methods of collecting credits information do
not overlap.;
do i=1 to 5;
if crcred(i)=1 & incred(i)=1 then errci(i)=1;
if crcred(i)=1 & dlcred(i)=1 then errcd(i)=1;
if incred(i)=1 & dlcred(i)=1 then errdi(i)=1;
if incred(i)=2 & dlcred(i)=1 then errdi(i)=2;
end;
***** Initialize both created variables.;
do i=1 to 5;
asfrac(i)=0;
bafrac(i)=0;
end;
do i=1 to 5;
* Associates Degree;
if e27337(i)=1 & tcred(i)=>0 then tasc(i)=tcred(i);
if (-4<e27388(i)<0|-4<tcred(i)<0) & e27337(i)=1 then asfrac(i)=-3;
if tasc(i)=>0 & e27388(i)>0 then asfrac(i)=(tasc(i)/e27388(i))*100;
asfrac(i)=round(asfrac(i),1);
if e23200(i)=1 & e27337(i)=1 then asfrac(i)=100; * Rs who say they have
graduated;
* Bachelors Degree;
if e27337(i)=3 & tcred(i)=>0 then tbac(i)=tcred(i);
if (-4<e27388(i)<0|-4<tcred(i)<0) & e27337(i)=3 then bafrac(i)=-3;
if tbac(i)=>0 & e27388(i)>0 then bafrac(i)=(tbac(i)/e27388(i))*100;
bafrac(i)=round(bafrac(i),1);
if e23200(i)=1 & e27337(i)=3 then bafrac(i)=100; * Rs who say they have
graduated;
end;
*** Checking for fraction of credits earned over 100 or fraction of credits
earned is 100 but reports
did not graduate.;
** Checking for the cases that credit fraction greater than 100;
do i=1 to 5;
if asfrac(i)>100 then ovr(i)=1;
if bafrac(i)>100 then ovr(i)=2;
if ovr(i)>=1 then over100=1;
end;
** Checking for the cases that get 100 or more percent credits but say need
more credits to graduate;
do i=1 to 5;
if asfrac(i)>=100 & e23200(i)=0 then ngrd(i)=1;
if bafrac(i)>=100 & e23200(i)=0 then ngrd(i)=2;
if ngrd(i)>=1 then notgrad=1;
end;
** Checking missing asfrac and bafrac;
do i=1 to 5;
if e27337(i)=1 and asfrac(i)=. then miss(i)=1;
if e27337(i)=3 and bafrac(i)=. then miss(i)=2;
end;
** Asfrac or bafrac>=100, which means that they gained more credits than the
credits required for the
degree (e27388), which means that they claimed that they still need more
credits for the
degree (e23200=0) we would handle these observations as below:
(a) if e23200=0 and e23400>0, we add up e23400 and (tasc/tbac) the credits
the Rs have earned as the
total credits required for the degree, and use it without e27388 to
calculate the cv.
(33 school 1 R7)
(b) if e23200=0 and e23400<=0, e23450 equals -4. we would give -3 to CV.
(c) For observations that asfrac or bafrac>=100 and they haven't completed
any term so we don't have
information about e23200 and e23400, use the same fraction as at last round.
However if this is
a new college then we cannot use this method.
(d) if there are cases with CV>100 even after all these recomputations (a-c)
then we give them -3
unless they made some corrections to the credits required to graduate
(e23400).;
/****************************** NOTE: YSCH-23360.X ************************
** The wording of YSCH-23360 had some problem. It will NOT corrected until
round 10. So, **
** this round and round 9 will not use this question. But from round 10, we
can use this
**
** question and should do the changes on code accordingly then.
**
***************************************************************************/
** Case (a);
do i=1 to 5;
if ngrd(i)=1 & e23400(i)>0 then do;
asfrac(i)=round(100*tasc(i)/(tasc(i)+e23400(i)),1);
nfrct(i)=1;
end;
if ngrd(i)=2 & e23400(i)>0 then do;
bafrac(i)=round(100*tbac(i)/(tbac(i)+e23400(i)),1);
nfrct(i)=2;
end;
end;
** Case (b);
do i=1 to 5;
if ngrd(i)=1 & e23400(i)<=0 then do;
asfrac(i)=-3;
nofrct(i)=1;
end;
if ngrd(i)=2 & e23400(i)<=0 then do;
bafrac(i)=-3;
nofrct(i)=2;
end;
end;
** Case (c);
do i=1 to 5;
if asfrac(i)>100 & e23200(i)=-4 & e23400(i)=-4 then do;
olfrct(i)=1;
do j=1 to 7;
if DLI=j then do;
do k=1 to 6;
if SCHID(i)=s(j,k) & e(j,k)=1 & dlcred(i)=1 then asfrac(i)=a(j,k);
if SCHID(i)=s(j,k) & e(j,k)~=1 & dlcred(i)=1 then asfrac(i)=0;
end;
end;
end;
end;
if bafrac(i)>100 & e23200(i)=-4 & e23400(i)=-4 then do;
olfrct(i)=2;
do j=1 to 7;
if DLI=j then do;
do k=1 to 6;
if SCHID(i)=s(j,k) & e(j,k)=3 & dlcred(i)=1 then bafrac(i)=b(j,k);
if SCHID(i)=s(j,k) & e(j,k)~=3 & dlcred(i)=1 then bafrac(i)=0;
end;
end;
end;
end;
end;
*** Case (d);
do i=1 to 5;
if asfrac(i)>100 & e23400(i)>=0 then do;
asfrac(i)=round(100*tasc(i)/(tasc(i)+e23400(i)),1);
nfrct(i)=1;
end;
if asfrac(i)>100 & e23400(i)<0 then do;
asfrac(i)=-3;
nofrct(i)=1;
end;
if bafrac(i)>100 & e23400(i)>=0 then do;
bafrac(i)=round(100*tbac(i)/(tbac(i)+e23400(i)),1);
nfrct(i)=2;
end;
if bafrac(i)>100 & e23400(i)<0 then do;
bafrac(i)=-3;
nofrct(i)=2;
end;
end;
*** If R not working towards Associates or Bachelor's degree.;
do i=1 to 5;
if e27337(i)=-4 then do;
asfrac(i)=-4;
bafrac(i)=-4;
end;
if e27337(i)=1 then bafrac(i)=-4;
if e27337(i)=3 then asfrac(i)=-4;
if e27337(i) in (-1,-2,-3) then asfrac(i)=-3;
if e27337(i) in (-1,-2,-3) then bafrac(i)=-3;
end;
* Sometimes the degree working towards question is skipped. If these Rs have
no HSD or GED then it is
OK. They may be enrolled in college to get some extra credits for later
enrollment in college but are
currently enrolled in school. These should have CV=-4. But some are
legitimately working towards an
AA/BA degree but since they got skipped out of the degree working towards
question they got skipped
out of credits earned question as well. We code them as -3.;
/*
do i=1 to 5;
if e27337(i)=-4 & scode(i) in (4,5) & (hsd=1|ged=1) then do;
dgchk(i)=1;
bafrac(i)=-3;
asfrac(i)=-3;
end;
end;
*/
* There are 24 cases who reported to be in college but skipped the degree
working towards.
These 24 cases are hand edited;
if pubid in (
89 579 794 3121 4003 4053 4289 4724 4875 5438 7221 4746) then do;
bafrac1=-3;
asfrac1=-3;
end;
if pubid in
(2390 1124 1706 1843 3506 4396 5292 7737) then do;
bafrac1=-4;
asfrac1=-4;
end;
if pubid in
(1695 2258 3388 1346) then do;
bafrac3=-3;
asfrac3=-3;
end;
if pubid=7221 then do;
bafrac2=-3;
asfrac2=-3;
end;
*****End of hand edit. *****;
ENDSAS;
Variables Created:
CV_SCHOOL_SIZE (SCHSIZE)
CV_STUDENT_TEACHER_RATIO (STUDTEAC)
Variables Used
|
Name in Program |
Question Name on CD |
Name in Program |
Question Name on CD |
|
| e2857r8 | YSCH-2857 | strtyr8_31 | NEWSCHOOL_START3.01~Y | |
| e3878r8 | YSCH-3878 | strtmr8_32 | NEWSCHOOL_START3.02~M | |
| e21625r8 | YSCH-21625 | strtyr8_32 | NEWSCHOOL_START3.02~Y | |
| pinr8_1 | NEWSCHOOL_ID.01 | stopmr8_11 | NEWSCHOOL_STOP1.01~M | |
| pinr8_2 | NEWSCHOOL_ID.02 | stopyr8_11 | NEWSCHOOL_STOP1.01~Y | |
| pinr8_3 | NEWSCHOOL_ID.03 | stopmr8_12 | NEWSCHOOL_STOP1.02~M | |
| pinr8_4 | NEWSCHOOL_ID.04 | stopyr8_12 | NEWSCHOOL_STOP1.02~Y | |
| pinr8_5 | NEWSCHOOL_ID.05 | stopmr8_13 | NEWSCHOOL_STOP1.03~M | |
| scoder8_1 | NEWSCHOOL_SCHCODE.01 | stopyr8_13 | NEWSCHOOL_STOP1.03~Y | |
| scoder8_2 | NEWSCHOOL_SCHCODE.02 | stopmr8_14 | NEWSCHOOL_STOP1.04~M | |
| scoder8_3 | NEWSCHOOL_SCHCODE.03 | stopyr8_14 | NEWSCHOOL_STOP1.04~Y | |
| scoder8_4 | NEWSCHOOL_SCHCODE.04 | stopmr8_15 | NEWSCHOOL_STOP1.05~M | |
| scoder8_5 | NEWSCHOOL_SCHCODE.05 | stopyr8_15 | NEWSCHOOL_STOP1.05~Y | |
| strtmr8_11 | NEWSCHOOL_START1.01~M | stopmr8_21 | NEWSCHOOL_STOP2.01~M | |
| strtyr8_11 | NEWSCHOOL_START1.01~Y | stopyr8_21 | NEWSCHOOL_STOP2.01~Y | |
| strtmr8_12 | NEWSCHOOL_START1.02~M | stopmr8_22 | NEWSCHOOL_STOP2.02~M | |
| strtyr8_12 | NEWSCHOOL_START1.02~Y | stopyr8_22 | NEWSCHOOL_STOP2.02~Y | |
| strtmr8_13 | NEWSCHOOL_START1.03~M | stopmr8_31 | NEWSCHOOL_STOP3.01~M | |
| strtyr8_13 | NEWSCHOOL_START1.03~Y | stopyr8_31 | NEWSCHOOL_STOP3.01~Y | |
| strtmr8_14 | NEWSCHOOL_START1.04~M | stopmr8_32 | NEWSCHOOL_STOP3.02~M | |
| strtyr8_14 | NEWSCHOOL_START1.04~Y | stopyr8_32 | NEWSCHOOL_STOP3.02~Y | |
| strtmr8_15 | NEWSCHOOL_START1.05~M | PUBID | PUBID | |
| strtyr8_15 | NEWSCHOOL_START1.05~Y | ager8 | SYMBOL_KEY_AGE | |
| strtmr8_21 | NEWSCHOOL_START2.01~M | racer8 | SYMBOL_KEY_RACE | |
| strtyr8_21 | NEWSCHOOL_START2.01~Y | sexr8 | SYMBOL_KEY_SEX | |
| strtmr8_22 | NEWSCHOOL_START2.02~M | doicmr8 | CV_INTERVIEW_CMONTH | |
| strtyr8_22 | NEWSCHOOL_START2.02~Y | intmr8 | CV_INTERVIEW_DATE~M | |
| strtmr8_31 | NEWSCHOOL_START3.01~M | intyr8 | CV_INTERVIEW_DATE~Y |
Codes for Created Variable
|
School Size |
Student-teacher ratio |
|
1
= <100 |
1
= <14 |
This program merges school identification information from the NLSY97 data with data from the "National Education Database," provided under copyright by Quality Education Data (QED), Inc. It then creates two variables that provide information about the respondent's most recent K-12 school.
/* Before creating the QED variables, survey staff used dates of enrollment data to identify the respondent's current or most recent school, creating the temporary variable LSCH_CODE, and then merged that information with the QED data. The process for identifying the most recent school is the same as that used in the creation of the CV_SCHOOL_TYPE variable, which appears earlier in this section. This information is excluded here due to length and confidentiality restrictions. Researchers needing more information about this process should contact NLS User Services. */
** Rs interviewed in Round 8;
data int; set f;
if e3878r8~=-5;
if e21625r8=999 then e21625r8=9;
** For respondents with e2857r8>12 but have a matching PIN number we will use
the school with the
matching pin instead of the college. Even though the college is the most recent
school in these
cases, the QED c.v.'s refer to the most recent high school (or middle,
elementary, etc.). "HGAFLAG"
denotes the cases with college attendance and it takes the value of YSCH-2857.;
if e2857r8>12 & PIN>100 & LSCH_CODE in (1,2,3) then do;
hgaflag=e2857r8;
if college~=1 then hgaflag=1000+hgaflag;
e2857r8=12;
end;
** Here we are checking the consistency of grades reported with the grade range
of the school reported.;
if GRADSPN ~=. then correct=0;
if 1<=e2857r8<=3 & GRADSPN in (1,4,5) then correct=1;
if 4<=e2857r8<=6 & GRADSPN in (1,4,5,6) then correct=1;
if 7<=e2857r8<=8 & GRADSPN in (1,5,6,7,8) then correct=1;
if e2857r8=9 & GRADSPN in (1,7,8,9) then correct=1;
if 10<=e2857r8<=12 & GRADSPN in (1,8,9,10) then correct=1;
** As long as the HGA is correct & hence the same as the HGA at the last
high/middle/elementary school
reported the above method of checking the consistency of grades reported with
the grade range of the
school reported is OK. However, if the HGA is different from the HGA at the last
school reported then
the above method would be incorrect. So we decided to use the alternative method
below. We will check
the cases where correct and corr are unequal to see which gives a better idea of
whether the last
grade attended is within the grade range denoted in GRADSPN. Then we will make
handedits. There are
only 3 cases of correct=0 & corr=1 & 15 cases of correct=1 & corr=0 and we
handedited one of the
correct=0 and corr=1 cases to correct=1.;
if GRADSPN ~=. then corr=0;
if GRADSPN=1 & 1<=LSCH_GRADE<=12 then corr=1;
if GRADSPN=4 & 1<=LSCH_GRADE<=6 then corr=1;
if GRADSPN=5 & 1<=LSCH_GRADE<=8 then corr=1;
if GRADSPN=6 & 4<=LSCH_GRADE<=8 then corr=1;
if GRADSPN=7 & 7<=LSCH_GRADE<=9 then corr=1;
if GRADSPN=8 & 7<=LSCH_GRADE<=12 then corr=1;
if GRADSPN=9 & 9<=LSCH_GRADE<=12 then corr=1;
if GRADSPN=10 & 10<=LSCH_GRADE<=12 then corr=1;
** If the grades reported in the QED & the NLSY97 do not coincide, we make both
created variables
equal to -3. Otherwise, we proceed to create them according to the definition
provided at the top of
the program.;
if correct=0|GRADSPN=. then do;
SCHSIZE=-3;
STUDTEAC=-3;
INV1=-3;
INV2=-3;
end;
** If a respondent reports no schools in the Round 8 roster or the only schools
in the Round 8 roster
are 2 or 4 year universities.;
if PIN=-4 then do;
SCHSIZE=-4;
STUDTEAC=-4;
INV1=-4;
INV2=-4;
end;
if e3878r8=-5 then do;
INV1=-5;
INV2=-5;
end;
if SCHSIZE>=0 then INV1=1;
if STUDTEAC>=0 then INV2=1;
if 1<=e2857r8<=3 & GRADSPN in (1,4,5) & GRADSPN not in (6,7,8,9,10) then
correct=1;
if 4<=e2857r8<=6 & GRADSPN in (1,4,5,6) & GRADSPN not in (7,8,9,10) then
correct=1;
if 7<=e2857r8<=8 & GRADSPN in (1,5,6,7,8) & GRADSPN not in (4,9,10) then
correct=1;
if e2857r8=9 & GRADSPN in (1,7,8,9) & GRADSPN not in (4,5,6,10) then correct=1;
if 10<=e2857r8<=12 & GRADSPN in (1,8,9,10) & GRADSPN not in (4,5,6,7) then
correct=1;
/******************************************************************************************************
** We make sure that there are not five or less schools in each cell determined
by the region/census,
type of school, control, school size & the student-teacher ratio to avoid any
possibilities of
identifying the schools. We first run the tabulations, then assign -3 to the
created variables for
schools that fall in cells of five or less schools.;
proc freq data=censr noprint;
tables REGION*GRADSPN*SCHTYP*SCHSIZE*STUDTEAC/OUT=temp2;
data censr; set censr;
if COUNT<=5 then do;
SCHSIZE=-3;
STUDTEAC=-3;
censrQED=1;
end;
Variables Created:
CV_TRN_CERT
CV_TRN_CERT_DATE~Y
CV_TRN_CERT_DATE~M
Variables Used
|
Name in Program |
Question Name on CD |
| t640m1-t640m3 | YTRN640.01-.03 |
| t640y1-t640y3 | YTRN640.01-.03 |
| t690001-t690007 | YTRN6900 |
| t700001-t700007 | YTRN7000 |
| t1500m1-t1500m6 | YTRN1500.00-.06 |
| t1500y1-t1500y6 | YTRN1500.00-.06 |
| TRNCYR | CV_TRN_CERT |
| TRNCMTH | CV_TRN_CERT_DATE~Y |
| TRNCERT | CV_TRN_CERT_DATE~M |
| PUBID | PUBID_2003 |
Codes for Created Variable
|
Ever Received Vocational/Completion Certificate or State License (TRNCERT) |
|
0
Condition Does Not Apply (no)--R took a training, but didn't earn
cert. |
This program creates a variable that reports whether the respondent has ever received a certificate or license other than a GED through a training program. If so, a pair of variables provide the month and year that the most recent certificate or license was obtained.
/*Initialize variables*/
TRNCERT=.; /*Ever received vocational/completion certificate or state license*/
TRNCMTH=.; /*Month of most recent certificate/license--based on date of
completion
of most recent cert/lic granting training program*/
TRNCYR=.; /*Year of most recent certificate/license--based on date of completion
of most recent cert/lic granting training program*/
reccert=0; /* a counting variable for use in programming to check do loops*/
/*Defining arrays*/
array t69000{8} t69001 - t69008;
array t70000{8} t70001 - t70008;
array t1500m{8} t1500m1 - t1500m8;
array t1500y{8} t1500y1 - t1500y8;
array t640m{8} t640m1 - t640m8;
array t640y{8} t640y1 - t640y8;
array trncrt{8} trncrt97 - trncrt99 trncrt2000- trncrt2004;
array trncmo{8} trncmo97 - trncmo99 trncmo2000 - trncmo2004;
array trncy{8} trncy97 - trncy99 trncy2000-trncy2004;
do i=1 to 8;
if reccert=0 and t69000{i}=1 and 1<=t70000{i}<=3 and t640y{i}>-4 then
do;/*8-18-04*/
TRNCERT=1;
TRNCYR=t640y{i};
TRNCMTH=t640m{i};
reccert=1;
end;
if reccert=0 and t69000{i}=1 and 1<=t70000{i}<=3 and t1500y{i}>-4 then do;
/*12-5-05*/
TRNCERT=1;
TRNCYR=t1500y{i};
TRNCMTH=t1500m{i};
reccert=1;
end;
if reccert>=1 and t69000{i}=1 and 1<=t70000{i}<=3 and t1500y{i}=TRNCYR and
t1500m{i}>TRNCMTH then do;
TRNCMTH=t1500m{i};
reccert=reccert+1;
end;
if reccert>=1 and t69000{i}=1 and 1<=t70000{i}<=3 and t640y{i}=TRNCYR and
t640m{i}>TRNCMTH then do;
TRNCMTH=t640m{i};
reccert=reccert+1;
end;
if reccert>=1 and t69000{i}=1 and 1<=t70000{i}<=3 and t1500y{i}>TRNCYR then do;
TRNCYR=t1500y{i};
TRNCMTH=t1500m{i};
reccert=reccert+1;
end;
if reccert>=1 and t69000{i}=1 and 1<=t70000{i}<=3 and t640y{i}>TRNCYR then do;
TRNCYR=t640y{i};
TRNCMTH=t640m{i};
reccert=reccert+1;
end;
if TRNCERT^=1 then do;
if t69000{i}=0 then TRNCERT=0;
if t69000{i}=1 and t70000{i}>3 then TRNCERT=0;
if t69000{i}=1 and t70000{i}<1 then TRNCERT=0;
end;
end;
/*code non-interviews*/
if t69001=-5 then do;
TRNCERT=-5;
TRNCYR=-5;
TRNCMTH=-5;
end;
/*This part compares values for current round to created vars for previous
round(s)
to obtain the most recent date of cert/lic receipt*/
do i=1 to 8;
if trncert=. and trncrt{i}=1 then do;
TRNCERT=TRNCRT{i};
TRNCYR=TRNCY{i};
TRNCMTH=TRNCMO{i};
end;
if trncert=0 and trncrt{i}=1 then do;
TRNCERT=TRNCRT{i};
TRNCYR=TRNCY{i};
TRNCMTH=TRNCMO{i};
end;
if TRNCERT=1 and TRNCRT{i}=1 and TRNCY{i}>TRNCYR then do;
TRNCYR=TRNCY{i};
TRNCMTH=TRNCMO{i};
end;
if TRNCERT=1 and TRNCRT{i}=1 and TRNCY{i}=TRNCYR and TRNCMO{i}>TRNCMTH then do;
TRNCMTH=TRNCMO{i};
end;
if TRNCERT=. and TRNCRT{i}=0 then do;
TRNCERT=TRNCRT{i};
TRNCYR=TRNCY{i};
TRNCMTH=TRNCMO{i};
end;
end;
if TRNCYR=-2 or TRNCYR=-1 then TRNCYR=-3;
if TRNCMTH=-2 or TRNCMTH=-1 then TRNCMTH=-3;
if TRNCERT=. and t69001=-4 then TRNCERT=-4;
if TRNCERT=. and t69001=-5 then TRNCERT=-5;
if TRNCERT=. and t69001=-2 then TRNCERT=-3;
if TRNCERT=. and t69001=-1 then TRNCERT=-3;
if TRNCERT=. and t69001=-3 then TRNCERT=-3;
if TRNCERT=. then TRNCERT=0;
/*if R received training cert but there is no date, then date variables =
invalid skip*/
if TRNCERT=1 and TRNCMTH<1 then TRNCMTH=-3;
if TRNCERT=1 and TRNCYR<1 then TRNCYR=-3;
/*if R took training but did not receive training cert then the date variables=
valid skip */
if TRNCERT=0 then TRNCMTH=-4;
if TRNCERT=0 then TRNCYR=-4;
if TRNCERT=-3 then TRNCMTH=-3;
if TRNCERT=-3 then TRNCYR=-3;
if TRNCERT=-4 then TRNCMTH=-4;
if TRNCERT=-4 then TRNCYR=-4;
if TRNCERT=-5 then TRNCMTH=-5;
if TRNCERT=-5 then TRNCYR=-5;
if int_y=-5 and int_m=-5 then do;
TRNCERT=-5;
TRNCYR=-5;
TRNCMTH=-5;
end;
endsas;