. . qui { /*note pelatihan: > 1. ifls: long format, susenas: wide format > 2. commands for working w long format: reshape > 3. each ifls books can have different total obs. that is why smtms merging results in unma > tched obs > 4. variabel utama biasanya dipakai sebagai data master ketika merging > 5. u can just place ur cursor at a command line and run it :) > */ . . /*************************************************************************** > ifls data cleaning & regression > ***************************************************************************/ . qui { . . . . /*************************************************************************** > stunting (using zanthro) > ***************************************************************************/ . qui { . . . . /*************************************************************************** > project akhir > ***************************************************************************/ . . *sex, educyear . u "$dir005/bk_ar1.dta", clear . keep if inlist(ar01a, 1,2,3,5,11) (6,686 observations deleted) . keep if ar01i==1 (8,488 observations deleted) . recode ar07(1=1 "1:male")(3=0 "0:female"), gen(sex) (37368 differences between ar07 and sex) . gen educyear=0 if ar16==1 (65,441 missing values generated) . { //elementary school . replace educyear = 0 if ar16 == 2 & ar17 == 0 (1,461 real changes made) . replace educyear = 1 if ar16 == 2 & ar17 == 1 (1,951 real changes made) . replace educyear = 2 if ar16 == 2 & ar17 == 2 (2,383 real changes made) . replace educyear = 3 if ar16 == 2 & ar17 == 3 (2,314 real changes made) . replace educyear = 4 if ar16 == 2 & ar17 == 4 (2,312 real changes made) . replace educyear = 5 if ar16 == 2 & ar17 == 5 (1,791 real changes made) . replace educyear = 6 if ar16 == 2 & ar17 == 6 (46 real changes made) . replace educyear = 6 if ar16 == 2 & ar17 == 7 (8,786 real changes made) . } . { //islamic elementary school . replace educyear = 0 if ar16 == 72 & ar17 == 0 (123 real changes made) . replace educyear = 1 if ar16 == 72 & ar17 == 1 (135 real changes made) . replace educyear = 2 if ar16 == 72 & ar17 == 2 (146 real changes made) . replace educyear = 3 if ar16 == 72 & ar17 == 3 (123 real changes made) . replace educyear = 4 if ar16 == 72 & ar17 == 4 (113 real changes made) . replace educyear = 5 if ar16 == 72 & ar17 == 5 (99 real changes made) . replace educyear = 6 if ar16 == 72 & ar17 == 6 (3 real changes made) . replace educyear = 6 if ar16 == 72 & ar17 == 7 (332 real changes made) . } . { //paket a . replace educyear = 6 if ar16 == 11 & ar17 == 7 (20 real changes made) . replace educyear = 6 if ar16 == 11 & ar17 > 7 (0 real changes made) . replace educyear = 6 if ar16 == 11 & ar17 < 7 (3 real changes made) . } . { //junior high . replace educyear = 6 if ar16 == 3 & ar17 == 0 (1,215 real changes made) . replace educyear = 7 if ar16 == 3 & ar17 == 1 (1,607 real changes made) . replace educyear = 8 if ar16 == 3 & ar17 == 2 (1,423 real changes made) . replace educyear = 9 if ar16 == 3 & ar17 == 3 (26 real changes made) . replace educyear = 9 if ar16 == 3 & ar17 == 7 (6,388 real changes made) . } . { //vocational junior high . replace educyear = 6 if ar16 == 4 & ar17 == 0 (10 real changes made) . replace educyear = 7 if ar16 == 4 & ar17 == 1 (15 real changes made) . replace educyear = 8 if ar16 == 4 & ar17 == 2 (16 real changes made) . replace educyear = 9 if ar16 == 4 & ar17 == 3 (1 real change made) . replace educyear = 9 if ar16 == 4 & ar17 == 7 (86 real changes made) . } . { //paket b . replace educyear = 9 if ar16 == 12 & ar17 == 7 (94 real changes made) . replace educyear = 9 if ar16 == 12 & ar17 >= 7 (0 real changes made) . replace educyear = 9 if ar16 == 12 & ar17 < 7 (21 real changes made) . } . { //islamic junior high . replace educyear = 6 if ar16 == 73 & ar17 == 0 (270 real changes made) . replace educyear = 7 if ar16 == 73 & ar17 == 1 (372 real changes made) . replace educyear = 8 if ar16 == 73 & ar17 == 2 (325 real changes made) . replace educyear = 9 if ar16 == 73 & ar17 == 3 (7 real changes made) . replace educyear = 9 if ar16 == 73 & ar17 == 7 (1,237 real changes made) . } . { //high school . replace educyear = 9 if ar16 == 5 & ar17 == 0 (573 real changes made) . replace educyear = 10 if ar16 == 5 & ar17 == 1 (723 real changes made) . replace educyear = 11 if ar16 == 5 & ar17 == 2 (591 real changes made) . replace educyear = 12 if ar16 == 5 & ar17 == 3 (12 real changes made) . replace educyear = 12 if ar16 == 5 & ar17 == 7 (7,908 real changes made) . } . { //vocational high school . replace educyear = 9 if ar16 == 6 & ar17 == 0 (473 real changes made) . replace educyear = 10 if ar16 == 6 & ar17 == 1 (483 real changes made) . replace educyear = 11 if ar16 == 6 & ar17 == 2 (481 real changes made) . replace educyear = 12 if ar16 == 6 & ar17 == 3 (14 real changes made) . replace educyear = 12 if ar16 == 6 & ar17 == 7 (5,649 real changes made) . } . { //islamic high school . replace educyear = 9 if ar16 == 74 & ar17 == 0 (130 real changes made) . replace educyear = 10 if ar16 == 74 & ar17 == 1 (153 real changes made) . replace educyear = 11 if ar16 == 74 & ar17 == 2 (121 real changes made) . replace educyear = 12 if ar16 == 74 & ar17 == 3 (2 real changes made) . replace educyear = 12 if ar16 == 74 & ar17 == 7 (1,029 real changes made) . } . { //paket c . replace educyear = 12 if ar16 == 15 & ar17 == 7 (236 real changes made) . replace educyear = 12 if ar16 == 15 & ar17 > 7 (1 real change made) . replace educyear = 12 if ar16 == 15 & ar17 < 7 (31 real changes made) . } . { //diploma . replace educyear = 12 if ar16 == 60 & ar17 == 0 (120 real changes made) . replace educyear = 13 if ar16 == 60 & ar17 == 1 (134 real changes made) . replace educyear = 14 if ar16 == 60 & ar17 == 2 (124 real changes made) . replace educyear = 15 if ar16 == 60 & ar17 == 3 (34 real changes made) . replace educyear = 14 if ar16 == 60 & ar17 == 7 (1,641 real changes made) . } . { //s1 . replace educyear = 12 if ar16 == 61 & ar17 == 0 (416 real changes made) . replace educyear = 13 if ar16 == 61 & ar17 == 1 (409 real changes made) . replace educyear = 14 if ar16 == 61 & ar17 == 2 (411 real changes made) . replace educyear = 15 if ar16 == 61 & ar17 == 3 (423 real changes made) . replace educyear = 16 if ar16 == 61 & ar17 == 4 (152 real changes made) . replace educyear = 16 if ar16 == 61 & ar17 == 5 (30 real changes made) . replace educyear = 16 if ar16 == 61 & ar17 == 6 (47 real changes made) . replace educyear = 16 if ar16 == 61 & ar17 == 7 (3,663 real changes made) . } . { //open university . replace educyear = 12 if ar16 == 13 & ar17 == 0 (8 real changes made) . replace educyear = 13 if ar16 == 13 & ar17 == 1 (4 real changes made) . replace educyear = 14 if ar16 == 13 & ar17 == 2 (5 real changes made) . replace educyear = 15 if ar16 == 13 & ar17 == 3 (3 real changes made) . replace educyear = 16 if ar16 == 13 & ar17 == 4 (4 real changes made) . replace educyear = 16 if ar16 == 13 & ar17 == 5 (0 real changes made) . replace educyear = 16 if ar16 == 13 & ar17 == 6 (0 real changes made) . replace educyear = 16 if ar16 == 13 & ar17 == 7 (11 real changes made) . } . { //s2, s3 . replace educyear = 16 if ar16 == 62 (384 real changes made) . replace educyear = 16 if ar16 == 63 (25 real changes made) . } . keep sex educyear pid* hhid* . sort hhid14 pid14 . tempfile bkar1ifls5 . save `bkar1ifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000001.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000001.tmp saved . . *res . u "$dir005/bk_sc1.dta", clear . recode sc05 (2=0 "0:pedesaan")(1=1 "1:perkotaan"), gen(res) (6339 differences between sc05 and res) . keep res hhid* . sort hhid14 . tempfile bksc1ifls5 . save `bksc1ifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000002.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000002.tmp saved . . *Marstat . u "$dir005/b3a_cov.dta", clear . recode marstat(1=0 "0:belum menikah")(4=1 "1:cerai")(2=2 "2:menikah")(3 5 6 = .), gen(Mars > tat) (10585 differences between marstat and Marstat) . keep Marstat hhid* pid* . sort hhid14 pid14 . tempfile b3acovifls5 . save `b3acovifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000003.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000003.tmp saved . . *famsize . u "$dir005/b3a_tk1.dta", clear . gen helpvar = 1 . bys hhid14: egen famsize = total(helpvar) . keep famsize hhid* pid* . sort hhid14 pid14 . tempfile b3atk1ifls5 . save `b3atk1ifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000004.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000004.tmp saved . . *cesd10, depresi . u "$dir005/b3b_kp.dta", clear . reshape wide kp02, i(pidlink) j(kptype) string (note: j = A B C D E F G H I J) Data long -> wide ----------------------------------------------------------------------------- Number of obs. 314470 -> 31447 Number of variables 8 -> 16 j variable (10 values) kptype -> (dropped) xij variables: kp02 -> kp02A kp02B ... kp02J ----------------------------------------------------------------------------- . foreach i in kp02A kp02B kp02C kp02D kp02F kp02G kp02I kp02J { 2. recode `i' (4=3) (3=2) (2=1) (1=0) 3. } (kp02A: 31447 changes made) (kp02B: 31447 changes made) (kp02C: 31447 changes made) (kp02D: 31447 changes made) (kp02F: 31447 changes made) (kp02G: 31447 changes made) (kp02I: 31447 changes made) (kp02J: 31447 changes made) . foreach i in kp02E kp02H { 2. recode `i' (1=3) (2=2) (3=1) (4=0) 3. } (kp02E: 26080 changes made) (kp02H: 25848 changes made) . egen cesd10 = rowtotal(kp02A kp02B kp02C kp02D kp02E kp02F kp02G kp02H kp02I kp02J) . g depresi = 1 if cesd10 >= 10 //based on typical cutoff (24,134 missing values generated) . replace depresi = 0 if cesd10 <10 (24,134 real changes made) . la define depresilab 0 "0:tidak depresi" 1 "1:depresi" . la values depresi depresilab . keep cesd10 depresi hhid* pid* . sort hhid14 pid14 . tempfile b3bkpifls5 . save `b3bkpifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000005.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000005.tmp saved . . *religius . u "$dir005/b3a_tr.dta", clear . recode tr11(2 = 1 "1:religius")(3 4 =0 "0:tidak religius")(7=.), gen(religius) (26432 differences between tr11 and religius) . keep religius hhid* pid* . sort hhid14 pid14 . tempfile b3atrifls5 . save `b3atrifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000006.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000006.tmp saved . . *perhiasan . u "$dir005/b3a_hr1.dta", clear . recode hr01 (1=1 "1:memiliki")(3=0 "0:tidak memiliki")(8=.), g(perhiasan) (84475 differences between hr01 and perhiasan) . drop if hr1type != "J" (137,124 observations deleted) . keep perhiasan hhid* pid* . sort hhid14 pid14 . tempfile b3ahr1ifls5 . save `b3ahr1ifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000007.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000007.tmp saved . . *donasi . u "$dir005/b1_ks3.dta", clear . g donasi = ks08 (412 missing values generated) . drop if ks3type != "D" (90,834 observations deleted) . keep donasi hhid* . sort hhid14 . tempfile b1ks3ifls5 . save `b1ks3ifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000008.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000008.tmp saved . . *bahasa . u "$dir005/b3a_dl1.dta", clear . gen bahasa= regexm( dl01a, "W") . //replace bahasa = 0 if !(strpos(dl01a), "W") . la define bahasalab 0 "0:bahasa lainnya" 1 "1:bahasa indonesia" . la values bahasa bahasalab . keep bahasa hhid* pid* . sort hhid14 pid14 . tempfile b3adl1ifls5 . save `b3adl1ifls5', replace (note: file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000009.tmp not found) file C:\Users\ZAKIIN~1\AppData\Local\Temp\ST_3d98_000009.tmp saved . . /*********************** > merging > ************************/ . . u `b3bkpifls5', clear //depresi . . /*merge hhid14 pid14 using `bkar1ifls5' `b3acovifls5' `b3atk1ifls5' `b3atrifls5' `b3ahr1if > ls5' `b3adl1ifls5' > foreach x of varlist _merg* { > drop if `x' == 2 > drop if `x' == 0 > drop `x' > } //generates 11,362 observations > sort hhid14 > > merge hhid14 using `bksc1ifls5' `b1ks3ifls5' > foreach x of varlist _merg* { > drop if `x' == 2 > drop if `x' == 0 > drop `x' > } //generates 16,885 observations */ . . merge 1:1 hhid14 pid14 using `bkar1ifls5', keep(1 3) //sex, educyear Result # of obs. ----------------------------------------- not matched 3 from master 3 (_merge==1) from using 0 (_merge==2) matched 31,444 (_merge==3) ----------------------------------------- . drop _merge . . merge 1:1 hhid14 pid14 using `b3acovifls5', keep(1 3) //Marstat Result # of obs. ----------------------------------------- not matched 0 matched 31,447 (_merge==3) ----------------------------------------- . drop _merge . . merge 1:1 hhid14 pid14 using `b3atk1ifls5', keep(1 3) //famsize Result # of obs. ----------------------------------------- not matched 2 from master 2 (_merge==1) from using 0 (_merge==2) matched 31,445 (_merge==3) ----------------------------------------- . drop _merge . . merge 1:1 hhid14 pid14 using `b3atrifls5', keep(1 3) //religius Result # of obs. ----------------------------------------- not matched 2 from master 2 (_merge==1) from using 0 (_merge==2) matched 31,445 (_merge==3) ----------------------------------------- . drop _merge . . merge 1:1 hhid14 pid14 using `b3adl1ifls5', keep(1 3) //bahasa Result # of obs. ----------------------------------------- not matched 2 from master 2 (_merge==1) from using 0 (_merge==2) matched 31,445 (_merge==3) ----------------------------------------- . drop _merge . . merge 1:1 hhid14 pid14 using `b3ahr1ifls5', keep(1 3) //perhiasan Result # of obs. ----------------------------------------- not matched 20,084 from master 20,084 (_merge==1) from using 0 (_merge==2) matched 11,363 (_merge==3) ----------------------------------------- . drop _merge //generates 11,363 observations . . merge m:1 hhid14 using `bksc1ifls5', keep(1 3) //res Result # of obs. ----------------------------------------- not matched 0 matched 31,447 (_merge==3) ----------------------------------------- . drop _merge . . merge m:1 hhid14 using `b1ks3ifls5', keep(1 3) //donasi Result # of obs. ----------------------------------------- not matched 76 from master 76 (_merge==1) from using 0 (_merge==2) matched 31,371 (_merge==3) ----------------------------------------- .keep if _merge == 3 (76 observations deleted) . drop _merge //generates 31,371 observations */ . . drop pidprox . g lndonasi = ln(donasi) (983 missing values generated) . save "$dir001/sekolahstataifls.dta", replace file C:\Users\Zaki Intan C\Documents\STATA files (DTA, DO, PDF)\DATA\DTA/sekolahstataifls.dt > a saved . end of do-file . exit, clear