May 28, 2016

Random graphs (87): Line plots



unzipfile ZA4582_v1-0-0.dta.zip
use ZA4582_v1-0-0.dta, clear

// Prepare some variables
recode v442  (0   = .a "Not asked") ///
             (1   =  3 "Daily") ///
             (2   =  2 "At least once per week") ///
             (3   =  1 "At least once per month") ///
             (4 5 =  0 "Less often/never") ///
             (9   = .b "No answer"), generate(internet_inc1998)
recode v462  (0   = .a "Not asked") ///
             (1   =  3 "Daily") ///
             (2   =  2 "At least once per week") ///
             (3   =  1 "At least once per month") ///
             (4 5 =  0 "Less often/never") ///
             (9   = .b "No answer"), generate(internet_inc2014)
recode v1910 (0   = .a "Not asked") ///
             (1   =  3 "Daily") ///
             (2   =  8 "Several times a week") ///
             (3   =  2 "At least once per week") ///
             (4   =  1 "At least once per month") ///
             (5   =  0 "Less than once per week") ///
             (9   = .b "No answer"), generate(internet_inc2006)
recode v1909 (0   = .a "Missing") ///
             (1   =  1 "Yes") ///
             (2   =  0 "No"), gen(internet_prev2006)

// Daily and weekly usage
clonevar internet_inc = internet_inc1998
replace  internet_inc = internet_inc2014 if year == 2014

preserve
qui tab internet_inc, gen(usage)
rename usage4 dailyusage
rename usage3 weeklyusage
collapse dailyusage weeklyusage, by(year)
replace dailyusage = dailyusage * 100
replace weeklyusage = weeklyusage * 100
drop if missing(dailyusage)

twoway (scatter weeklyusage year, connect(L)) ///
       (scatter dailyusage year, connect(L))  ///
      , legend(order(1 "At least once per week" ///
                     2 "Daily") title("Internet usage", size(*.8)) ring(0) pos(11)) ///
         xlabel(1998 2004 2014) xtitle("") ytitle(%) ylabel(0 (10) 60) ///
         note(" " "{it:Source:} German General Social Survey (Allbus), doi: 10.4232/1.12439" ///
              "{it:Note:} Based on recodings of v442 and v462.", span) name(internet1, replace)
restore         

// Daily internet usage based on different response formats
replace  internet_inc = internet_inc2006 if year == 2006 | year == 2008

preserve
qui tab internet_inc, gen(usage)
rename usage4 dailyusage
collapse dailyusage, by(year)
replace dailyusage = dailyusage * 100
drop if missing(dailyusage)

twoway (scatter dailyusage year, connect(L))  ///
      , xlabel(1998 2004 2006 2008 2014) xtitle("") ytitle("% of respondents reporting" "{bf:daily} internet usage") ylabel(0 (10) 60) ///
        note(" " "{it:Source:} German General Social Survey (Allbus), doi: 10.4232/1.12439" ///
             "{it:Note:} Based on recodings of v442, v462, and v1910.", span) name(internet2, replace)
restore         

// Yes/no question
preserve
collapse internet_prev, by(year)
drop if missing(internet_prev)
replace internet_prev = internet_prev * 100

twoway (scatter internet_prev year, connect(L))  ///
      , xlabel(2006 2008 2010 2012 2014) xtitle("") ytitle("% of respondents using the internet") ylabel(0 (10) 80) ///
        note(" " "{it:Source:} German General Social Survey (Allbus), doi: 10.4232/1.12439. {it:Note:} Based on v1909.", span) ///
        name(internet3, replace)
restore

erase ZA4582_v1-0-0.dta