Code:
* first generation undergraduates
label define q28 1 "High School or equivalent" ///
                 2 "Some College or 2 year degree" ///
                 3 "Bachelor's Degree or a 4-year college degree" ///
                 4 "Master's Degree or Advanced Degree" ,modify

label define q29 1 "High School or equivalent" ///
                 2 "Some College or 2 year degree" ///
                 3 "Bachelor's Degree or a 4-year college degree" ///
                 4 "Master's Degree or Advanced Degree" ,modify

label values q28 Mom_Highest_edu
label values q29 Dad_Highest_edu
describe q28 q29
label list q28 q29

generate first_generation = (q28==1 | 2) & (q29==1 | 2) 


label variable first_generation "First Generation Students"
label define firstgen 1 "First Generation in College" ///
                      0 "Non First Generation"
label values first_generation firstgen
My idea is that I want to find those students who are first generation students. The definition is that both parents who did not complete bachelor degree. Thus, if both q28 and q29 are equal to 1 or 2, then this student is first generation student. Thus, my code is designed as
Code:
generate first_generation = (q28==1 | 2) & (q29==1 | 2)
But the outcome is incorrect.