Last active
October 17, 2021 02:45
-
-
Save studentrohman/dd0c2db5190eafcfb6e49d6701503a9a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| *---------------------------------------------------------------------------------------------------------- | |
| *Membuat Variabel spesial | |
| *---------------------------------------------------------------------------------------------------------- | |
| global input "E:\IFLS\DATA\2014\HH" | |
| global output "C:\Users\Asus\OneDrive\Desktop\kelas ifls\2. hasil" | |
| cd "$output" | |
| dir "$input\*" | |
| use "$input\bk_ar1.dta", clear | |
| *size family | |
| gen inhh=(ar01a==1 | ar01a==2 | ar01a==5 | ar01a==11) | |
| keep if inhh==1 | |
| keep if ar01i==1 | |
| gen member=1 | |
| bys hhid14: egen size_family=sum(member) | |
| *Education Year | |
| sort hhid14_9 pid14 | |
| *level= pendidikan tertinggi, grade= kelas tertinggi | |
| gen level=ar16 if ar16~=. | |
| gen grade=ar17 if ar17~=. | |
| * no schooling, kindergarten * | |
| generate educyr= 0 if level==1 | level==90 | level==98 | level==95 | |
| * elementary school, kejar paket A, pesantren, madrasah tsanawiyah * | |
| replace educyr=grade if (level==2 | level==11 | level==14 | level==72) & grade<7 /* masih SD */ | |
| replace educyr=6 if (level==2 | level==11 | level==14 | level==72) & grade==7 /* graduated from SD*/ | |
| replace educyr=5 if (level==2 | level==11 | level==14 | level==72) & grade>7 /* not graduated */ | |
| * junior high general + vocational, kejar paket B, ibtidaiyah * | |
| replace educyr=6+grade if (level==3 | level==4 | level==12 | level==17 | level==73) & grade<4 /* masih SMP */ | |
| replace educyr=9 if (level==3 | level==4 | level==12 | level==17 | level==73) & (grade==4 | grade==5 | grade==7) /* graduated from SMP */ | |
| replace educyr=8 if (level==3 | level==4 | level==12 | level==17 | level==73) & grade>7 /* not graduated */ | |
| * senior high general + vocational, kejar paket B, aaliyah * | |
| replace educyr=9+grade if (level==5 | level==6 | level==15 | level==74) & grade<4 /* masih SMA */ | |
| replace educyr=12 if (level==5 | level==6 | level==15 | level==74) & (grade==4 | grade==7) /* graduated */ | |
| replace educyr=11 if (level==5 | level==6 | level==15 | level==74) & grade==98 /* not graduated */ | |
| * tertiary educ * | |
| replace educyr=12+grade if (level==13 | level==60 | level==61 | level==62 | level==63) & grade<5 | |
| replace educyr=16 if (level==13 | level==60 | level==61 | level==62 | level==63) & (grade==5 | grade==6 | grade==7) | |
| replace educyr=15 if (level==13 | level==60 | level==61 | level==62 | level==63) & grade>7 | |
| replace educyr=16+grade if (level==62) & grade<3 | |
| replace educyr=18 if (level==62) & (grade==3 | grade==4 | grade==5 | grade==7) | |
| replace educyr=17 if (level==62) & (grade>7) | |
| replace educyr=18+grade if (level==63) & grade<3 | |
| replace educyr=20 if (level==63) & (grade==3 | grade==4 | grade==5 | grade==7) | |
| replace educyr=19 if (level==63) & (grade>7) | |
| * College, D1, D2, D3 educ * | |
| replace educyr=12+grade if (level==60) & grade<=3 /* belum lulus kuliah college*/ | |
| replace educyr=15 if (level==60) & grade>3 & grade<7 /* belum lulus kuliah college*/ | |
| * Univ (bachelor) educ * | |
| replace educyr=12+grade if (level==13 | level==61) & grade<=5 /* belum lulus kuliah college*/ | |
| replace educyr=17 if (level==13 | level==61) & grade>5 & grade<=7 /* belum lulus kuliah college*/ | |
| * Univ (master) educ * | |
| replace educyr=17+grade if (level==13 | level==62) & grade<=2 /* belum lulus kuliah college*/ | |
| replace educyr=19 if (level==13 | level==62) & grade>2 & grade<=7 /* belum lulus kuliah college*/ | |
| * Univ (doctorate) educ * | |
| replace educyr=19+grade if (level==13 | level==61) & grade<=3 /* belum lulus kuliah college*/ | |
| replace educyr=22 if (level==13 | level==61) & grade>3 & grade<=7 /* belum lulus kuliah college*/ | |
| ***Memberi Label Variabel yang baru*** | |
| label variable level "tingkat pendidikan terakhir" | |
| label variable grade "kelas pendidikan terakhir" | |
| label variable educyr "education year atau lama tahun bersekolah" | |
| *---------------------------------------------------------------------------------------------------------------------------------- | |
| *Membuat Variabel Stunting | |
| *---------------------------------------------------------------------------------------------------------------------------------- | |
| use "$input\bk_time.dta", clear | |
| reshape wide ivwdaybk ivwmthbk ivwyrbk beghr begmin endhr endmin, i(hhid14) j( time_occ) | |
| egen year_wawancara=rowmax( ivwyrbk1 ivwyrbk2 ivwyrbk3 ivwyrbk4 ivwyrbk5 ivwyrbk6 ivwyrbk7 ivwyrbk8 ivwyrbk9 ivwyrbk10 ivwyrbk11 ivwyrbk12 ivwyrbk13 ivwyrbk14 ivwyrbk21) | |
| egen bulan_wawancara=rowmax( ivwmthbk1 ivwmthbk2 ivwmthbk3 ivwmthbk4 ivwmthbk5 ivwmthbk6 ivwmthbk7 ivwmthbk8 ivwmthbk9 ivwmthbk10 ivwmthbk11 ivwmthbk12 ivwmthbk13 ivwmthbk14 ivwmthbk21 ) | |
| keep year_wawancara bulan_wawancara hhid14 | |
| tempfile bk_time | |
| save `bk_time', replace | |
| use "$input\bk_ar1.dta", clear | |
| merge m:1 hhid14 using `bk_time' | |
| drop if _m==2 | |
| drop _m | |
| *variabel yg dibutuhkan untuk membuat agemonth dan gender | |
| *ivwmthbk, ivwyrbk, ar08yr, ar08mth, ar07 | |
| *Variabel agemonth | |
| gen agemonth = ((year_wawancara-ar08yr)*12)+(bulan_wawancara-ar08mth) | |
| drop if agemonth < 0 | |
| drop if agemonth > 60 | |
| *Variabel Gender | |
| recode ar07 (1=1 "Laki2") (3=0 "perempuan"), gen(gender) | |
| keep pid* hhid* gender agemonth | |
| save "$output\genderdanagemonth.dta", replace | |
| *************************************** | |
| *Variabel Tinggi badan | |
| clear | |
| use "$input\bus_us.dta" | |
| ren us04 heightanak | |
| keep hhid* pid* heightanak | |
| save "$output\tinggianak.dta", replace | |
| ************************************** | |
| *Variabel Stunting | |
| use "$output\genderdanagemonth.dta", clear | |
| merge 1:1 hhid14 pid14 using "$output\tinggianak.dta" | |
| keep if _m==3 | |
| egen zha14 = zanthro(heightanak,ha,WHO), xvar( agemonth ) gender( gender ) gencode(male=1, female=0) ageunit(month) | |
| gen stunting = 0 | |
| replace stunting = 1 if zha14 < -2 | |
| save "$output\hasilstunting.dta" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment