Apr 27, 2016

Random graphs (76): Line plot with confidence band

bhps_ukhls netuse netpuse indpxus_lw strata psu using indresp, ukhlswaves(1/5) ///
           ukhlsdir("C:\data\UKDA-6614-stata11_se\stata11_se\") ///
           vallabcheck
    
// Generate variable of interest
generate internetuse = .
replace  internetuse = netuse if inlist(wave, 19, 20)
label define internetuse 1 "no access at home, at work or elsewhere" ///
                         2 "never use" ///
                         3 "less than once a month" ///
                         4 "once a month" ///
                         5 "several times a month" ///
                         6 "several times a week" ///
                         7 "every day" ///
                        -1 "don't know" ///
                        -2 "refused" ///
                        -7 "proxy" ///
                        -9 "missing", modify
label val internetuse internetuse
replace  internetuse = 8 - netpuse if inlist(wave, 21, 22, 23) & netpuse > 0
replace  internetuse = netpuse if inlist(wave, 21, 22, 23) & netpuse < 0

recode internetuse (-1 = .a) (-2 = .b) (-7 = .c) (-9 = .d)

generate dailyuser = (internetuse == 7) if !missing(internetuse)

// Look at unweighted data
tab dailyuser wave, mis col nof

// Declare weights
svyset psu [pweight=indpxus_lw], strata(strata)

// Calculate weighted results
proportion dailyuser, over(wave)

// Save results in matrix 
matrix coefs  = r(table)

// Make data set of findings
clear
svmat coefs, names(eqcol)

// Get rid of unnecessary columns and rows
drop _prop_1*
keep in 1/6
drop in 2/4

// Get data into proper shape
gen varid = _n
reshape long _prop_2, i(varid) j(wave)
replace _prop_2 = _prop_2 * 100
reshape wide _prop_2, i(wave) j(varid)

rename _prop_21 dailyusers
rename _prop_22 lb
rename _prop_23 ub

label define wave 19 "2009/10" ///
                  20 "2010/11" ///
                  21 "2011/12" ///
                  22 "2012/13" ///
                  23 "2013/14"
label val wave wave

twoway (rarea lb ub wave) ///
       (line dailyusers wave) ///
      , legend(off) xlabel(, val) ///
        ytitle("% daily internet users") ///
        xtitle("") ylabel(, grid) ///
        note(" " ///
             "{it:Note:} Gray area denotes 95% confidence bands. {it:Source:} UKHLS waves 1-5, weighted data.", span)