
use v151 year ost_west if ost_west == 1 using ZA4582_v1-0-0.dta, clear
// Year
label drop year
label var year ""
// Subjective social class
recode v151 (9 = .a "No response") ///
(8 = .b "Don't know") ///
(7 = .c "Refused") ///
(6 = .d "None of the strata") ///
(5 = 5 "Upper class") ///
(4 = 4 "Upper middle class") ///
(3 = 3 "Middle class") ///
(2 = 2 "Working class") ///
(1 = 1 "Lower class") ///
, gen(subjclass)
label var subjclass "Subjective social class"
qui tab subjclass, gen(subjx)
// Change value labels in bulk
foreach var of varlist subjx* {
local lab `: var label `var''
local lab `: di subinstr("`lab'", "subjclass==", " ", 1)'
label var `var' "`lab'"
}
// Collapse data set
// Copy variable labels before collapse
// Following:
// http://www.stata.com/support/faqs/data-management/keeping-same-variable-with-collapse/
foreach var of var subjx* {
local l`var' : variable label `var'
if `"`l`var''"' == "" {
local l`var' "`var'"
}
}
// Collapse
collapse subjx*, by(year)
// Restore value labels after collapse
foreach var of var subjx* {
label var `var' "`l`var''"
}
// Change to percentages
foreach var of var subjx* {
replace `var' = `var' * 100
}
// Sparklines
sparkline subjx* year, variablelabels xlabel(1980 (10) 2010) xmtick(1980 (2) 2014) ///
xtitle("") format(%6.1f) extremes ///
title("Subjective social class in Western Germany", span) ///
name(subjclass, replace)