Skip to content

educ: Education level

educ title image

Description

educ is the five-category level of education of the respondent.

Availability

Sample Years
Basic All years
May All years
ORG All years

Warning

This variable is consistently coded across time except for a major reclassification in 1992.

Values

Value Label
1 Less than high school
2 High school
3 Some college
4 College
5 Advanced

Detailed comments

The breaks in the series in the figure above are caused by the 1992 reclassification of educational attainment. Before 1992, respondents were asked the highest grade of school they attended and whether they completed that grade. From 1992 to the present, respondents were asked to indicate the highest grade or degree they had obtained.

Code

Variable creation
********************************************************************************
* Education: educ
********************************************************************************
gen byte educ = .

if $marchcps == 1 {
    if tm(1962m1) <= $date & $date <= tm(1991m12) {
        * none - 11th
        replace educ = 1 if 0 <= _grdhi & _grdhi <= 11
        * did not complete 12th
        replace educ = 1 if _grdhi == 12 & grdcom == 2
        * did complete 12th
        replace educ = 2 if _grdhi == 12 & grdcom == 1
        * college: 1-3 yrs
        replace educ = 3 if _grdhi >= 13 & gradehi <= 15
        * did not complete college
        replace educ = 3 if _grdhi == 16 & grdcom == 2
        * did complete college
        replace educ = 4 if _grdhi == 16 & grdcom == 1
        * 4-5 years of college
        replace educ = 4 if _grdhi == 17
        * more than 5 years of college
        replace educ = 5 if _grdhi == 18
    }
    if tm(1992m1) <= $date & $date <= tm(1997m12) {
        * LTHS; includes "12th grade, no diploma"
        replace educ = 1 if 31 <= grdatn & grdatn <= 38
        * HS
        replace educ = 2 if grdatn == 39
        * Some college; includes associate's degrees
        replace educ = 3 if 40 <= grdatn & grdatn <= 42
        * College
        replace educ = 4 if grdatn == 43
        * Advanced degree
        replace educ = 5 if 44 <= grdatn & grdatn <= 46
    }
    if tm(1998m1) <= $date {
        * LTHS; includes "12th grade, no diploma"
        replace educ = 1 if 31 <= a_hga & a_hga <= 38
        * HS
        replace educ = 2 if a_hga == 39
        * Some college; includes associate's degrees
        replace educ = 3 if 40 <= a_hga & a_hga <= 42
        * College
        replace educ = 4 if a_hga == 43
        * Advanced degree
        replace educ = 5 if 44 <= a_hga & a_hga <= 46
    }
}

if $monthlycps == 1 | $maycps == 1 {
    if tm(1973m1) <= $date & $date <= tm(1991m12) {
        * none - 11th
        replace educ = 1 if 0 <= gradehi & gradehi <= 11
        * did not complete 12th
        replace educ = 1 if gradehi == 12 & grdcom == 2
        * did complete 12th
        replace educ = 2 if gradehi == 12 & grdcom == 1
        * college: 1-3 yrs
        replace educ = 3 if gradehi >= 13 & gradehi <= 15
        * did not complete college
        replace educ = 3 if gradehi == 16 & grdcom == 2
        * did complete college
        replace educ = 4 if gradehi == 16 & grdcom == 1
        * 4-5 years of college
        replace educ = 4 if gradehi == 17
        * more than 5 years of college
        replace educ = 5 if gradehi == 18
    }
    if tm(1992m1) <= $date & $date <= tm(1993m12) {
        * LTHS; includes "12th grade, no diploma"
        replace educ = 1 if 31 <= grdatn & grdatn <= 38
        * HS
        replace educ = 2 if grdatn == 39
        * Some college; includes associate's degrees
        replace educ = 3 if 40 <= grdatn & grdatn <= 42
        * College
        replace educ = 4 if grdatn == 43
        * Advanced degree
        replace educ = 5 if 44 <= grdatn & grdatn <= 46
    }
    if tm(1994m1) <= $date {
        * LTHS; includes "12th grade, no diploma"
        replace educ = 1 if 31 <= peeduca & peeduca <= 38
        * HS
        replace educ = 2 if peeduca == 39
        * Some college; includes associate's degrees
        replace educ = 3 if 40 <= peeduca & peeduca <= 42
        * College
        replace educ = 4 if peeduca == 43
        * Advanced degree
        replace educ = 5 if 44 <= peeduca & peeduca <= 46
    }
}

lab var educ "Education level"
#delimit ;
lab define educ
1 "Less than high school"
2 "High school"
3 "Some college"
4 "College"
5 "Advanced"
;
#delimit cr
lab val educ educ
notes educ: 1973-1991 Unicon: grdhi, grdcom
notes educ: 1992-1993 Unicon: grdatn
notes educ: 1994-present CPS: derived from peeduca
Figure creation
gen byte lths = educ == 1 if educ ~= .
gen byte hs = educ == 2 if educ ~= .
gen byte some = educ == 3 if educ ~= .
gen byte college = educ == 4 if educ ~= .
gen byte advanced = educ == 5 if educ ~= .

keep if age >= 25 & age ~= .

gcollapse (mean) lths hs some college advanced [pw=basicwgt], by(year) fast
sum year
local maxyear = r(max)
foreach ed of varlist lths hs some college advanced {
    replace `ed' = `ed' * 100
    sum `ed' if year == `maxyear'
    local `ed'yvalue = r(mean)
    local `ed'xvalue = `maxyear' + 0.5
}

local color1 228 26 28
local color2 55 126 184
local color3 77 175 74
local color4 152 78 163
local color5 255 127 0

line lths hs some college advanced year if year < 1992, ///
    lcolor("`color1'" "`color2'" "`color3'" "`color4'" "`color5'") || ///
line lths hs some college advanced year if year >= 1992, ///
    lcolor("`color1'" "`color2'" "`color3'" "`color4'" "`color5'") ///
    legend(off) ///
    xlabel(1975(5)2020) ///
    ylabel(0(5)35 40 "40%", angle(0) gmin gmax) ///
    xtitle("") ytitle("") ///
    graphregion(color(white) margin(r=21)) plotregion(color(white)) ///
    title("Share of population age 25 and over by educational attainment", size(medium) span margin(l=20)) ///
    text(`lthsyvalue' `lthsxvalue' "Less than" "high school", color("`color1'") placement(r) justification(left)) ///
    text(`hsyvalue' `hsxvalue' "High school", color("`color2'") placement(r)) ///
    text(`someyvalue' `somexvalue' "Some college", color("`color3'") placement(r)) ///
    text(`collegeyvalue' `collegexvalue' "College", color("`color4'") placement(r)) ///
    text(`advancedyvalue' `advancedxvalue' "Advanced", color("`color5'") placement(r))
graph export ${variableimages}educ_titleimage.svg, replace

/***
The breaks in the series in the figure above are caused by the 1992 reclassification of educational attainment. Before 1992, respondents were asked the highest grade of school they attended and whether they completed that grade. From 1992 to the present, respondents were asked to indicate the highest grade or degree they had obtained.
***/