*********************************** ************************************ ***MEASURES OF CENTRAL TENDENCY (chapter 3) ************************************ ************************************ ************************************ ***CLEAR MEMORY ************************************ clear all ************************************ ***WINDOWS ************************************ ***Start saving results window log using "C:\course\progs\Stata03.log", replace text ***Shortcut for folders global data = "C:\course\data" global output = "C:\course\output" ************************************ ***MACINTOSH ************************************ ***Start saving results window log using "/course/progs/Stata03.log", replace text ***Shortcut for folders global data = "/course/data" global output = "/course/output" ************************************ ***OPENING COMMANDS ************************************ ***Tell Stata to not pause for "more" messages set more off ***Change directory cd "$data" ***Open 2016 GSS use "GSS2016.dta", clear ***Complex survey design svyset [weight=wtssall], strata(vstrat) psu(vpsu) singleunit(scaled) ************************************ ***SEX ************************************ tab sex tab sex, m tab sex [aweight=wtssall], m svy: tab sex ***Generate dummy variable for female tab sex, nolabel generate female=. replace female=0 if sex==1 replace female=1 if sex==2 tab sex female, m tab female tab female, m svy: tab female ************************************ ***RELIGION ************************************ ***Religious preference tab relig tab relig [aweight=wtssall] tab relig [aweight=wtssall], m svy: tab relig ***Generate religious variable with fewer categories tab relig, nolabel gen religion=. replace religion=1 if relig==1 //protestant replace religion=2 if relig==2 //catholic replace religion=3 if relig==3 //jewish replace religion=4 if relig>=5 & relig<=13 //other replace religion=5 if relig==4 //none tab relig religion, m tab religion, m ***Create label for variable label variable religion "Religious group" ***Create labels for categories label define relcode 1 "Protestant" /// 2 "Catholic" /// 3 "Jewish" /// 4 "Other" /// 5 "None" ***Assign labels for categories of a specific variable label values religion relcode ***New religion variable tab religion tab religion [aweight=wtssall] svy: tab religion ************************************ ***RACE/ETHNICITY ************************************ ***Race tab race [aweight=wtssall] tab race [aweight=wtssall], m svy: tab race ***Hispanic tab hispanic, m tab hispanic, m nolabel svy: tab hispanic ***Generate dummy variable for hispanic gen hisp=. replace hisp=0 if hispanic==1 replace hisp=1 if hispanic>=2 & hispanic<=50 tab hispanic hisp, m ***Generate race/ethnicity variable gen raceeth=. replace raceeth=1 if race==1 & hisp==0 //non-hispanic white replace raceeth=2 if race==2 & hisp==0 //non-hispanic black replace raceeth=3 if hisp==1 //hispanic replace raceeth=4 if race==3 & hisp==0 //other tab raceeth race, m tab raceeth hisp, m ***Create label for variable label variable raceeth "Race/Ethnicity" ***Create labels for categories label define racecode 1 "Non-hispanic white" /// 2 "Non-hispanic black" /// 3 "Hispanic" /// 4 "Other" ***Assign labels for categories of a specific variable label values raceeth racecode ***New race/ethnicity variable tab raceeth, m tab raceeth [aweight=wtssall], m svy: tab raceeth ************************************ ***AGE ************************************ ***Age distribution tab age, m tab age [aweight=wtssall], m tab age, m nolabel tab age [aweight=wtssall], m nolabel svy: tab age ***Generate age group variable - manually gen agegr1=. replace agegr1=18 if age>=18 & age<=24 replace agegr1=25 if age>=25 & age<=44 replace agegr1=45 if age>=45 & age<=64 replace agegr1=65 if age>=65 & age<=89 tab agegr1, m ***Create label for variables label variable agegr1 "Age group" ***Create labels for categories label define agecode 18 "18-24" /// 25 "25-44" /// 45 "45-64" /// 65 "65-89" ***Assign labels for categories of specific variables label values agegr1 agecode ***New age group variables tab agegr1, m tab agegr1 [aweight=wtssall], m svy: tab agegr1 ************************************ ***MEAN AND MEDIAN OF INCOME ***Respondent income in constant dollars ***Inflation-adjusted personal income ************************************ ***Income ***No weight sum conrinc, d mean conrinc estat sd ***Weight ***It corrects the mean sum conrinc [aweight=wtssall], d mean conrinc [aweight=wtssall] ***Survey design ***It corrects the mean and standard error svy: mean conrinc estat sd ***Income by sex table sex [aweight=wtssall], c(mean conrinc p50 conrinc) ***Income by race/ethnicity table raceeth [aweight=wtssall], c(mean conrinc p50 conrinc) ***Income by age group table agegr1 [aweight=wtssall], c(mean conrinc p50 conrinc) ***Income by sex and race/ethnicity table raceeth sex [aweight=wtssall], c(mean conrinc p50 conrinc) ***Income by sex and age group table agegr1 sex [aweight=wtssall], c(mean conrinc p50 conrinc) ***Income by race/ethnicity and age group table agegr1 raceeth [aweight=wtssall], c(mean conrinc p50 conrinc) ***Income by sex, race/ethnicity, and age group table agegr1 raceeth sex [aweight=wtssall], c(mean conrinc p50 conrinc) ************************************ ***LINE GRAPH - MEAN INCOME BY AGE ************************************ ***Generate variable with mean income by age sort age by age: egen mincage=mean(conrinc) sum mincage, d ***Line graph of income by age twoway line mincage age [aweight=wtssall], ytitle("Mean income") graph export "$output/age-income_line.png", replace //Macintosh graph export "$output\age-income_line.png", replace //Windows ************************************ ***LINE GRAPH - MEAN INCOME BY AGE ************************************ ***Generate variable with mean income by age and sex sort sex age by sex age: egen mincagesex=mean(conrinc) sum mincagesex, d ***Line graph of income by age and sex twoway line mincagesex age if female==0 [aweight=wtssall] || /// line mincagesex age if female==1 [aweight=wtssall], /// legend(label(1 Males) label(2 Females)) /// ytitle("Mean income") /// xtitle("Age") graph export "$output/age-sex-income_line.png", replace //Macintosh graph export "$output\age-sex-income_line.png", replace //Windows ************************************ ***CLOSING COMMANDS ************************************ ***Save data save "Stata03.dta", replace ***Save log log close