Home » Topics » General » DISABILITY - UGANDA DHS 2016
DISABILITY - UGANDA DHS 2016 [message #16706] |
Fri, 22 February 2019 07:19 |
Mlue
Messages: 92 Registered: February 2017 Location: North West
|
Senior Member |
|
|
To whom it may concern.
A Stata do file to match figures on disability (Washington Group questions) in the Uganda DHS 2016 report.
clear all
set maxvar 9000
set mem 1g
cd "C:\Users\Dubile\Documents\UGANDA DHS 2016\UG_2016_DHS_02212019_82_52565\UGPR7ADT"
use "UGPR7AFL", clear
set more off
** ========================================================================== **
** WEIGHT VARIABLE
gen weight = hv005/1000000
** ========================================================================== **
** SURVEY SET
gen psu = hv021
gen strata = hv023
svyset psu [pw = weight], strata(strata) vce(linearized)
** ========================================================================== **
sort hhid hvidx
* Generate "pid"
by hhid: gen pid = _n
* Creating household size
by hhid: generate hhsize=_N
egen hhtag = tag(hhid)
*br hhid hvidx pid hhsize hhtag
** ========================================================================== **
cap drop Seeing
gen Seeing =9 if sh24 == 9 | sh25 == 9
replace Seeing = 1 if sh24 == 1 | sh25 == 1
replace Seeing = 2 if sh24 == 2 | sh25 == 2
replace Seeing = 3 if sh24 == 3 | sh25 == 3
replace Seeing = 4 if sh24 == 4 | sh25 == 4
replace Seeing = 8 if sh24 == 8 | sh25 == 8
cap drop Hearing
gen Hearing =9 if sh27 == 9 | sh28 == 9
replace Hearing = 1 if sh27 == 1 | sh28 == 1
replace Hearing = 2 if sh27 == 2 | sh28 == 2
replace Hearing = 3 if sh27 == 3 | sh28 == 3
replace Hearing = 4 if sh27 == 4 | sh28 == 4
replace Hearing = 8 if sh27 == 8 | sh28 == 8
** RENAME VARIABLES **
rename sh29 Communicate
rename sh30 Remembering
rename sh31 Walking
rename sh32 Selfcare
** REPLACE **
replace Seeing = 8 if Seeing == .
replace Hearing = 8 if Hearing == .
replace Communicate = 8 if Communicate == .
replace Remembering = 8 if Remembering == .
replace Walking = 8 if Walking == .
replace Selfcare = 8 if Selfcare == .
** ========================================================================== **
global disa2 "Seeing Hearing Communicate Walking Remembering Selfcare"
gen disab = 0
gen sevdisab = 0
gen undisab1 = 0
gen undisab2 = 0
gen undisab = 0
gen discount = 0
gen donotknow = 0
foreach xvar in $disa2 {
replace disab = 1 if `xvar'>=3 & `xvar'<=4
replace sevdisab = 1 if `xvar'>=3 & `xvar'<=4
}
*
foreach xvar in $disa2 {
replace undisab2 = 1 if `xvar'>=3 & `xvar'<=4
}
*
quietly forval q = 1/6 {
egen temper = anycount($disa2) if `q' !=., values(9)
replace discount = temper
drop temper
}
*
quietly forval v = 1/6 {
egen tempers = anycount($disa2) if `v' !=., values(8)
replace donotknow = tempers
drop tempers
}
*
quietly forval s = 1/6 {
egen new_temp = anycount($disa2) if `s' !=., values(4)
replace undisab1 = new_temp
drop new_temp
}
*
replace undisab = 1 if undisab1 > 1
replace undisab = 1 if undisab2 == 1
foreach xvar in discount {
replace undisab = 9 if `xvar' == 6
replace disab = 9 if `xvar' == 6
replace sevdisab = 9 if `xvar' == 6
}
*
foreach xvar in donotknow {
replace undisab = 8 if `xvar' == 6
replace disab = 8 if `xvar' == 6
replace sevdisab = 8 if `xvar' == 6
}
*
** ========================================================================== **
** DISABILITY INDEX
gen Ungandadisab = undisab
replace Ungandadisab = 0 if undisab == 8
label var Ungandadisab "Washington Group recommended disability index"
label define Ungandadisab 0"Without disability" 1"With disability" 9"DNK/Unspecified"
label val Ungandadisab Ungandadisab
drop disab sevdisab undisab undisab1 undisab2 discount donotknow
** ========================================================================== **
recode hv105 (0/4=1 "0-4") (5/9=2 "5-9") (10/14=3 "10-14") (15/19=4 "15-19") ///
(20/24=5 "20-24") (25/29=6 "25-29") (30/34=7 "30-34") (35/39=8 "35-39") ///
(40/44=9 "40-44") (45/49=10 "45-49") (50/54=11 "50-54") (55/59=12 "55-59") ///
(60/64=13 "60-64") (65/69=14 "65-69") (70/74=15 "70-74") (75/79=16 "75-79") ///
(80/95=17 "80+") (98=18 "DNK"), gen(Age_5year_Groups)
label var Age_5year_Groups "Age in five-year age groups"
label val Age_5year_Groups Age_5year_Groups
recode hv105 (0/4=1 "0-4") (5/9=2 "5-9") (10/14=3 "10-14") (15/19=4 "15-19") ///
(20/29=5 "20-29") (30/39=6 "30-39") (40/49=7 "40-49") (50/59=8 "50-59") ///
(60/95=9 "60+") (98=10 "DNK"), gen(Agegroup)
label var Agegroup "Age groups"
label val Agegroup Agegroup
** ========================================================================== **
** DROP IF NOT WITHIN SAMPLE
qui regr Ungandadisab if hv103==1 & (hv105 >=5) & Ungandadisab !=9 [pw=weight]
drop if e(sample)!=1
** ========================================================================== **
** CHECK **
svy: tab Agegroup Ungandadisab, percent format(%11.1f) row
svy: tab Agegroup Ungandadisab, count format(%11.0f) miss
svy: tab Agegroup Ungandadisab if hv105 >=15 & hv105 <98, percent format(%11.1f) row
** ========================================================================== **
** ========================================================================== **
** ========================================================================== **
** Table 2.15 Disability among adults by background characteristics **
recode hv115 (.=9)
/* WOMEN */
svy: tab Agegroup Ungandadisab if hv105 >=15 & hv104==2, percent format(%11.1f) row
svy: tab hv115 Ungandadisab if hv105 >=15 & hv104==2, percent format(%11.1f) row
svy: tab hv025 Ungandadisab if hv105 >=15 & hv104==2, percent format(%11.1f) row
svy: tab hv024 Ungandadisab if hv105 >=15 & hv104==2, percent format(%11.1f) row
svy: tab hv106 Ungandadisab if hv105 >=15 & hv104==2, percent format(%11.1f) row
svy: tab hv270 Ungandadisab if hv105 >=15 & hv104==2, percent format(%11.1f) row
***********************
/* MEN */
svy: tab Agegroup Ungandadisab if hv105 >=15 & hv104==1, percent format(%11.1f) row
svy: tab hv115 Ungandadisab if hv105 >=15 & hv104==1, percent format(%11.1f) row
svy: tab hv025 Ungandadisab if hv105 >=15 & hv104==1, percent format(%11.1f) row
svy: tab hv024 Ungandadisab if hv105 >=15 & hv104==1, percent format(%11.1f) row
svy: tab hv106 Ungandadisab if hv105 >=15 & hv104==1, percent format(%11.1f) row
svy: tab hv270 Ungandadisab if hv105 >=15 & hv104==1, percent format(%11.1f) row
** ========================================================================== **
** =================================== END ================================== **
** ========================================================================== **
*svy: tab Age_5year_Groups Ungandadisab, percent format(%11.1f) row
*svy: tab Age_5year_Groups Ungandadisab, count format(%11.0f) miss
ssc install splitvallabels, replace //Need internet connection
splitvallabels Ungandadisab
graph hbar [aw=weight], ///
over(Ungandadisab, label(labsize(small)) relabel(`r(relabel)')) ///
ytitle("Percent of respondents", size(small)) ///
title("Disability status" ///
, span size(medium)) ///
blabel(bar, format(%4.1f)) ///
intensity(25)
splitvallabels Ungandadisab
graph hbar (count) [pw=weight], ///
over(Ungandadisab, label(labsize(small)) relabel(`r(relabel)')) ///
ytitle("Number of respondents", size(small)) ///
title("Disability status" ///
, span size(medium)) ///
blabel(bar, format(%4.0f)) ///
intensity(25)
exit
|
|
|
|
Goto Forum:
Current Time: Mon Oct 7 12:54:23 Coordinated Universal Time 2024
|