clear set memory 80000 set maxvar 5000 set matsize 1000 set more off use "N:\MTUS\Fin 1979\latest\finland1979.dta" compress *FIXES MISTAKES WITH TRAVEL ACTIVTIY CODES forval i= 1/68 { replace loc`i'=0 if ((loc`i'>=1 & loc`i'<=4) | loc`i'==9) & /// (prime`i'==8 | prime`i'==23 | prime`i'==28 | prime`i'==34 | prime`i'==42 | prime`i'==45 | prime`i'==48 | /// prime`i'==52 | prime`i'==58 | prime`i'==64 | prime`i'==80 | prime`i'==90 | prime`i'==92 | prime`i'==93) } *FIXES MISTAKES WITH LOCATION CODES forval i= 1/68 { replace loc`i'=0 if (prime`i'>=60 & prime`i'<=63) & (loc`i'>=1 & loc`i'<=3) replace loc`i'=5 if prime`i'==53 replace loc`i'=0 if ((prime`i'>=13 & prime`i'<=22) | prime`i'==24 | prime`i'==25 | /// prime`i'==27 | prime`i'==31 | prime`i'==35 | prime`i'==36 | prime`i'==38 | prime`i'==39 | /// prime`i'==40 | prime`i'==46 | prime`i'==47 | prime`i'==49 | prime`i'==50 | /// (prime`i'>=54 & prime`i'<=57) | prime`i'==59 |prime`i'==73 | prime`i'==74 | /// (prime`i'>=81 & prime`i'<=85) | prime`i'==89) & loc`i'==2 } local a=1 local b=2 local c=3 while `a'<=68 { replace loc`b'=0 if (prime`b'>=97 & prime`b'<=99) & ((loc`b'>=1 & loc`b'<=4) | loc`b'==9) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`a'!=loc`c' & (loc`a'>=1 & loc`a'<=4) & (loc`c'>=1 & loc`c'<=4) & dur`a'!=. & dur`b'!=. & dur`c'!=. & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } ******************************************************************************************************************* ******************************************************************************************************************* ******************************************* IMPUTED VARIABLES ***************************************************** ******************************************************************************************************************* ******************************************************************************************************************* * IMPUTED SLEEP * gen dc=0 forval i= 1/69 { gen dc`i'=0 } gen isleep1=0 gen isleep2=0 local a=1 local b=2 while `b'<=68 { replace isleep1 = isleep1 + dur`b' if (prime`a'==35 | prime`a'==36 | prime`a'==40) & /// (prime`b'>=97 & prime`b'<=99) & dur`b'<=20 & (sthr`b'>=0 & sthr`b'<=8) & ((loc`a'==loc`b' /// & (loc`b'!=0 & loc`b'!=5 & loc`b'!=6 & loc`b'!=7 & loc`b'!=8 & loc`b'!=9)) | loc`b'==1) /// & (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) replace dc`b'=1 if (prime`a'==35 | prime`a'==36 | prime`a'==40) & /// (prime`b'>=97 & prime`b'<=99) & dur`b'<=20 & (sthr`b'>=0 & sthr`b'<=8) & ((loc`a'==loc`b' /// & (loc`b'!=0 & loc`b'!=5 & loc`b'!=6 & loc`b'!=7 & loc`b'!=8 & loc`b'!=9)) | loc`b'==1) /// & (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 } local a=1 local b=2 while `a'<=67 { replace isleep2 = isleep2 + dur`a' if (prime`b'==35 | prime`b'==36 | prime`b'==40) & /// (prime`a'>=97 & prime`a'<=99) & dur`a'<=20 & (sthr`a'>=0 & sthr`a'<=8) & ((loc`a'==loc`b' /// & (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8 & loc`b'!=9)) | loc`a'==1) /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) & dc`a'== 0 replace dc`a'=1 if (prime`b'==35 | prime`b'==36 | prime`b'==40) & /// (prime`a'>=97 & prime`a'<=99) & dur`a'<=20 & (sthr`a'>=0 & sthr`a'<=8) & ((loc`a'==loc`b' /// & (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8 & loc`b'!=9)) | loc`a'==1) /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) local a=`a'+1 local b=`b'+1 } gen isleep=isleep1+isleep2 *IMPUTED TRAVEL gen itravel1=0 gen itravel2=0 local a=1 local b=2 local c=3 while `a'<=68 { replace itravel1 = itravel1 + dur`b' if (prime`b'>=97 & prime`b'<=99) & /// ((loc`b'>=1 & loc`b'<=4) | loc`b'==9) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`a'!=loc`c' & (loc`a'>=1 & loc`a'<=4) & (loc`c'>=1 & loc`c'<=4) & dur`a'!=. & dur`b'!=. & dur`c'!=. & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) & dc`b'== 0 replace dc`b'=1 if (prime`b'>=97 & prime`b'<=99) & /// ((loc`b'>=1 & loc`b'<=4) | loc`b'==9) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`a'!=loc`c' & (loc`a'>=1 & loc`a'<=4) & (loc`c'>=1 & loc`c'<=4) & dur`a'!=. & dur`b'!=. & dur`c'!=. & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } local a=1 while `a'<=68 { replace itravel2 = itravel2 + dur`a' if ((prime`a'>=97 & prime`a'<=99) & /// (loc`a'==0 | loc`a'==7 | loc`a'==8) & dur`a'!=.) /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) & dc`a'== 0 replace dc`a'=1 if ((prime`a'>=97 & prime`a'<=99) & /// (loc`a'==0 | loc`a'==7 | loc`a'==8) & dur`a'!=.) /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) local a=`a'+1 } gen itravel=itravel1+itravel2 *IMPUTED PERSONAL AND HOUSEHOLD CARE gen ipcare1=0 gen ipcare2=0 local a=1 local b=2 while `b'<=68 { replace ipcare1 = ipcare1 + dur`b' if (prime`b'>=97 & prime`b'<=99) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & /// loc`b'==1 & (loc`a'==0 | loc`a'==5 | loc`a'==6 | loc`a'==7 | loc`a'==8) & /// dur`a'!=. & dur`b'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) & dc`b'== 0 replace dc`b'=1 if (prime`b'>=97 & prime`b'<=99) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & /// loc`b'==1 & (loc`a'==0 | loc`a'==5 | loc`a'==6 | loc`a'==7 | loc`a'==8) & /// dur`a'!=. & dur`b'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 } local a=1 local b=2 local c=3 while `b'<=68 { replace ipcare2 = ipcare2 + dur`b' if (prime`b'>=97 & prime`b'<=99) & /// (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`b'==1 & (loc`c'==0 | loc`c'==5 | loc`c'==6 | loc`c'==7 | loc`c'==8) & /// (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8) & /// dur`a'!=. & dur`b'!=. & dur`c'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) & dc`b'==0 replace dc`b'=1 if (prime`b'>=97 & prime`b'<=99) & /// (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`b'==1 & (loc`c'==0 | loc`c'==5 | loc`c'==6 | loc`c'==7 | loc`c'==8) & /// (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8) & /// dur`a'!=. & dur`b'!=. & dur`c'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } gen ipcare=ipcare1+ipcare2 *IMPUTED TIME AWAY FROM HOME gen iawayhome=0 local a=1 while `a'<=68 { replace iawayhome = iawayhome + dur`a' if (prime`a'>=97 & prime`a'<=99) & (loc`a'>=3 & loc`a'<=4 ) & /// (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) & dc`a'==0 local a=`a'+1 } ******************************************************************************************************************* ******************************************************************************************************************* *********************************** PREPARATION OF AV WORLD 6 VARIABLES ******************************************* ******************************************************************************************************************* ******************************************************************************************************************* forval i= 1/68 { gen avx`i'=0 } forval i= 1/68 { replace avx`i'=1 if ((prime`i'==1 | prime`i'==3 | prime`i'==4 | prime`i'==5 | /// prime`i'==7) & loc`i'!=1) | ((prime`i'==79 | prime`i'==91) & loc`i'==2 ) | /// (loc`i'==2 & (prime`i'>=97 & prime`i'<=99) & (sec`i'==. | sec`i'==0 | sec`i'>6)) | /// ((prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'==2) replace avx`i'=2 if (prime`i'>=1 & prime`i'<=7) & loc`i'==1 replace avx`i'=3 if (prime`i'==2 | prime`i'==6) & loc`i'!=1 replace avx`i'=4 if (prime`i'==43 | prime`i'==47 | prime`i'==49) replace avx`i'=5 if prime`i'==8 | prime`i'==45 replace avx`i'=6 if (prime`i'>=9 & prime`i'<=11) replace avx`i'=7 if (prime`i'==12 | prime`i'==13) replace avx`i'=8 if ((prime`i'>=15 & prime`i'<=17) | (prime`i'>=19 & prime`i'<=22) | /// (sec`i'==6 & (prime`i'>=97 & prime`i'<=99))) replace avx`i'=9 if (prime`i'==18) replace avx`i'=10 if (prime`i'==29 | prime`i'==30 | prime`i'==33) replace avx`i'=11 if ((prime`i'>=24 & prime`i'<=27) | prime`i'==31 | prime`i'==71) replace avx`i'=12 if prime`i'==23 | prime`i'==28 | prime`i'==34 | prime`i'==42 replace avx`i'=14 if (prime`i'==32 | prime`i'==41) replace avx`i'=15 if (prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'!=2 replace avx`i'=17 if prime`i'==48 | prime`i'==52 | prime`i'==58 | prime`i'==64 | prime`i'==80 | prime`i'==90 | prime`i'==93 replace avx`i'=18 if (prime`i'==62 | prime`i'==92) replace avx`i'=19 if (prime`i'>=54 & prime`i'<=57) replace avx`i'=20 if prime`i'==59 replace avx`i'=21 if prime`i'==53 replace avx`i'=22 if prime`i'==51 replace avx`i'=23 if prime`i'==50 replace avx`i'=24 if (prime`i'==60 | prime`i'==61 | prime`i'==63) replace avx`i'=25 if prime`i'==75 | prime`i'==86 | /// (prime`i'==72 & (loc`i'!=1 & loc`i'!=3)) | (prime`i'==79 & (loc`i'!=1 & loc`i'!=2 & loc`i'!=3)) replace avx`i'=28 if (prime`i'==77 | prime`i'==78) replace avx`i'=29 if prime`i'==73 | ((prime`i'==72 | prime`i'==79) & loc`i'==3) replace avx`i'=30 if (sec`i'==1 & (prime`i'>=97 & prime`i'<=99)) | (prime`i'==69) replace avx`i'=31 if ((prime`i'==70) | (sec`i'==2 & (prime`i'>=97 & prime`i'<=99))) replace avx`i'=32 if (prime`i'==87) replace avx`i'=33 if (prime`i'==44) replace avx`i'=34 if (prime`i'==67) replace avx`i'=35 if (prime`i'==65 | prime`i'==66 | prime`i'==68 | /// (sec`i'==4 & (prime`i'>=97 & prime`i'<=99))) replace avx`i'=36 if prime`i'==94 | (prime`i'==91 & loc`i'!=2) replace avx`i'=37 if prime`i'==76 replace avx`i'=38 if prime`i'==74 | ((prime`i'==72 | prime`i'==79) & loc`i'==1) replace avx`i'=39 if prime`i'==14 | (sec`i'==5 & (prime`i'>=97 & prime`i'<=99)) replace avx`i'=40 if prime`i'==46 | (prime`i'>=81 & prime`i'<=85) | prime`i'==88 | prime`i'==89 } forval i= 1/68 { replace avx`i'=13 if prime`i'==38 | prime`i'==39 } local a=1 local b=2 while `b'<=68 { replace avx`b'=13 if (prime`b'>=97 & prime`b'<=99) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & /// loc`b'==1 & (loc`a'==0 | loc`a'==5 | loc`a'==6 | loc`a'==7 | loc`a'==8) & /// dur`a'!=. & dur`b'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 } local a=1 local b=2 local c=3 while `b'<=68 { replace avx`b'=13 if (prime`b'>=97 & prime`b'<=99) & /// (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`b'==1 & (loc`c'==0 | loc`c'==5 | loc`c'==6 | loc`c'==7 | loc`c'==8) & /// (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8) & /// dur`a'!=. & dur`b'!=. & dur`c'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } forval i= 1/68 { replace avx`i'=16 if prime`i'==35 | prime`i'==36 | prime`i'==40 } local a=1 local b=2 while `b'<=68 { replace avx`b'=16 if (prime`a'==35 | prime`a'==36 | prime`a'==40) & /// (prime`b'>=97 & prime`b'<=99) & dur`b'<=20 & (sthr`b'>=0 & sthr`b'<=8) & ((loc`a'==loc`b' /// & (loc`b'!=0 & loc`b'!=5 & loc`b'!=6 & loc`b'!=7 & loc`b'!=8 & loc`b'!=9)) | loc`b'==1) /// & (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 } local a=1 local b=2 while `a'<=67 { replace avx`a'=16 if (prime`b'==35 | prime`b'==36 | prime`b'==40) & /// (prime`a'>=97 & prime`a'<=99) & dur`a'<=20 & (sthr`a'>=0 & sthr`a'<=8) & ((loc`a'==loc`b' /// & (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8 & loc`b'!=9)) | loc`a'==1) /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) local a=`a'+1 local b=`b'+1 } forval i= 1/68 { replace avx`i'=41 if (prime`i'>=97 & prime`i'<=99) & ((loc`i'!=2 & /// (sec`i'!=1 & sec`i'!=2 & sec`i'!=3 & sec`i'!=4 & sec`i'!=5 & sec`i'!=6)) | /// ((loc`i'==0 | loc`i'==5 | loc`i'==6 | loc`i'==7 | loc`i'==8) & (sec`i'>=1 & sec`i'<=6))) & avx`i'==0 } ******************************************************************************************************************* ******************************************************************************************************************* *********************************** PREPARATION OF MAIN WORLD 6 VARIABLES ***************************************** ******************************************************************************************************************* ******************************************************************************************************************* forval i= 1/68 { gen mainx`i'=0 } forval i= 1/68 { replace mainx`i'=2 if prime`i'==35 | prime`i'==36 | prime`i'==40 replace mainx`i'=4 if prime`i'==38 | prime`i'==39 replace mainx`i'=5 if (prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'==2 replace mainx`i'=6 if (prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'!=2 replace mainx`i'=7 if ((prime`i'==1 | prime`i'==3 | prime`i'==4 | prime`i'==5) & loc`i'!=1 ) | /// (loc`i'==2 & (prime`i'>=97 & prime`i'<=99) & (sec`i'==. | sec`i'==0 | sec`i'>6)) replace mainx`i'=8 if (prime`i'>=1 & prime`i'<=7) & loc`i'==1 replace mainx`i'=9 if (prime`i'==2 | prime`i'==6) & loc`i'!=1 replace mainx`i'=12 if (prime`i'==79 | prime`i'==91) & loc`i'==2 replace mainx`i'=13 if prime`i'==7 & loc`i'!=1 replace mainx`i'=15 if prime`i'==43 replace mainx`i'=16 if prime`i'==44 replace mainx`i'=17 if prime`i'==46 | prime`i'==47 | prime`i'==49 replace mainx`i'=18 if prime`i'==9 | prime`i'==10 replace mainx`i'=19 if prime`i'==11 replace mainx`i'=20 if prime`i'==12 replace mainx`i'=21 if prime`i'==13 | prime`i'==15 replace mainx`i'=22 if prime`i'==16 | prime`i'==17 | prime`i'==19 replace mainx`i'=23 if prime`i'==22 | (sec`i'==6 & (prime`i'>=97 & prime`i'<=99)) replace mainx`i'=24 if prime`i'==29 replace mainx`i'=25 if prime`i'==32 | prime`i'==41 replace mainx`i'=26 if prime`i'==30 | prime`i'==33 replace mainx`i'=27 if prime`i'==18 & ((loc`i'==1 | loc`i'==3) | /// ((loc`i'==4 | loc`i'==9) & dur`i'<=30)) replace mainx`i'=28 if prime`i'==24 | prime`i'==27 | prime`i'==31 replace mainx`i'=30 if prime`i'==25 | prime`i'==71 replace mainx`i'=31 if prime`i'==26 replace mainx`i'=32 if prime`i'==20 | prime`i'==21 replace mainx`i'=33 if prime`i'==50 replace mainx`i'=34 if prime`i'==51 replace mainx`i'=36 if prime`i'==59 replace mainx`i'=37 if prime`i'==60 | prime`i'==61 | prime`i'==63 replace mainx`i'=38 if prime`i'==62 replace mainx`i'=39 if prime`i'==77 | prime`i'==78 replace mainx`i'=40 if prime`i'==75 | prime`i'==86 | /// (prime`i'==79 & (loc`i'!=1 & loc`i'!=2 & loc`i'!=3)) replace mainx`i'=42 if (prime`i'==54 | prime`i'==55 | prime`i'==57) & loc`i'!=6 replace mainx`i'=43 if prime`i'==53 | (loc`i'==5 & (prime`i'>=97 & prime`i'<=99) & /// (sec`i'==. | sec`i'==0 | sec`i'>6)) replace mainx`i'=44 if (prime`i'==54 | prime`i'==55 | prime`i'==57 | /// (prime`i'>=97 & prime`i'<=99)) & (loc`i'==6 & (sec`i'==. | sec`i'==0 | sec`i'>6)) replace mainx`i'=45 if (prime`i'==92) replace mainx`i'=46 if prime`i'==56 | (prime`i'==18 & ((loc`i'==2 | loc`i'==0 | loc`i'==6 | /// loc`i'==7 | loc`i'==8) | ((loc`i'==4 | loc`i'==9) & dur`i'>30))) replace mainx`i'=47 if prime`i'==18 & loc`i'==5 replace mainx`i'=48 if (prime`i'>=72 & prime`i'<=74) replace mainx`i'=49 if prime`i'==76 replace mainx`i'=50 if prime`i'==84 | prime`i'==85 | (prime`i'==79 & (loc`i'==1 | loc`i'==3)) replace mainx`i'=52 if prime`i'==82 replace mainx`i'=53 if prime`i'==88 replace mainx`i'=54 if prime`i'==14 | prime`i'==81 | prime`i'==83 | prime`i'==89 /// | (sec`i'==5 & (prime`i'>=97 & prime`i'<=99)) replace mainx`i'=55 if prime`i'==94 | (prime`i'==91 & loc`i'!=2) replace mainx`i'=56 if ((prime`i'>=65 & prime`i'<=68) | (sec`i'==4 & /// (prime`i'>=97 & prime`i'<=99))) replace mainx`i'=57 if (prime`i'==87) replace mainx`i'=58 if (sec`i'==1 & (prime`i'>=97 & prime`i'<=99)) | (prime`i'==69) replace mainx`i'=59 if prime`i'==70 | (sec`i'==2 & (prime`i'>=97 & prime`i'<=99)) replace mainx`i'=63 if prime`i'==8 replace mainx`i'=64 if prime`i'==45 replace mainx`i'=65 if prime`i'==52 replace mainx`i'=66 if prime`i'==28 replace mainx`i'=67 if prime`i'==23 | prime`i'==34 | prime`i'==42 replace mainx`i'=68 if prime`i'==48 | prime`i'==58 | prime`i'==64 | prime`i'==80 | /// prime`i'==90 | prime`i'==93 } local a=1 local b=2 while `b'<=68 { replace mainx`b'=1 if (prime`b'>=97 & prime`b'<=99) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & /// loc`b'==1 & (loc`a'==0 | loc`a'==5 | loc`a'==6 | loc`a'==7 | loc`a'==8) & /// dur`a'!=. & dur`b'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 } local a=1 local b=2 local c=3 while `b'<=68 { replace mainx`b'=1 if (prime`b'>=97 & prime`b'<=99) & /// (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`b'==1 & (loc`c'==0 | loc`c'==5 | loc`c'==6 | loc`c'==7 | loc`c'==8) & /// (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8) & /// dur`a'!=. & dur`b'!=. & dur`c'!=. & dur`b'<25 & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } local a=1 local b=2 while `b'<=68 { replace mainx`b'=3 if (prime`a'==35 | prime`a'==36 | prime`a'==40) & /// (prime`b'>=97 & prime`b'<=99) & dur`b'<=20 & (sthr`b'>=0 & sthr`b'<=8) & ((loc`a'==loc`b' /// & (loc`b'!=0 & loc`b'!=5 & loc`b'!=6 & loc`b'!=7 & loc`b'!=8 & loc`b'!=9)) | loc`b'==1) /// & (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 } local a=1 local b=2 while `a'<=67 { replace mainx`a'=3 if (prime`b'==35 | prime`b'==36 | prime`b'==40) & /// (prime`a'>=97 & prime`a'<=99) & dur`a'<=20 & (sthr`a'>=0 & sthr`a'<=8) & ((loc`a'==loc`b' /// & (loc`a'!=0 & loc`a'!=5 & loc`a'!=6 & loc`a'!=7 & loc`a'!=8 & loc`b'!=9)) | loc`a'==1) /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) local a=`a'+1 local b=`b'+1 } local a=1 while `a'<=68 { replace mainx`a'=41 if (prime`a'>=97 & prime`a'<=99) & (loc`a'>=3 & loc`a'<=4 ) local a=`a'+1 } local a=1 local b=2 local c=3 while `a'<=67 { replace mainx`b'=62 if (prime`b'>=97 & prime`b'<=99) & ((loc`b'>=1 & loc`b'<=4) | loc`b'==9) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`a'!=loc`c' & (loc`a'>=1 & loc`a'<=4) & (loc`c'>=1 & loc`c'<=4) & dur`a'!=. & dur`b'!=. & dur`c'!=. & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } local a=1 while `a'<=68 { replace mainx`a'=62 if (prime`a'>=97 & prime`a'<=99) & (loc`a'==0 | loc`a'==7 | loc`a'==8) & dur`a'!=. /// & (sec`a'!=1 & sec`a'!=2 & sec`a'!=3 & sec`a'!=4 & sec`a'!=5 & sec`a'!=6) local a=`a'+1 } forval i= 1/68 { replace mainx`i'=69 if (prime`i'>=97 & prime`i'<=99) & loc`i'!=2 & loc`i'!=6 & /// (sec`i'!=1 & sec`i'!=2 & sec`i'!=3 & sec`i'!=4 & sec`i'!=5 & sec`i'!=6) & mainx`i'==0 } ******************************************************************************************************************* ******************************************************************************************************************* *********************************** PREPARATION OF SEC WORLD 6 VARIABLES ****************************************** ******************************************************************************************************************* ******************************************************************************************************************* forval i= 1/68 { gen secx`i'=69 } forval i= 1/68 { replace secx`i'=5 if sec`i'==3 & loc`i'==2 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=6 if sec`i'==3 & loc`i'!=2 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=23 if sec`i'==6 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=54 if sec`i'==5 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=56 if sec`i'==4 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=58 if sec`i'==1 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=59 if sec`i'==2 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) replace secx`i'=62 if (prime`i'!=8 & prime`i'!=23 & prime`i'!=28 & prime`i'!=34 & prime`i'!=42 & /// prime`i'!=45 & prime`i'!=48 & prime`i'!=52 & prime`i'!=58 & prime`i'!=64 & prime`i'!=80 & prime`i'!=90) & /// ((loc`i'==0 | loc`i'==5 | loc`i'==6 | loc`i'==7 | loc`i'==8) & (sec`i'==. | sec`i'==0 | sec`i'>6)) } ******************************************************************************************************************* ******************************************************************************************************************* ********************* HARMONIZED SURVEY, DEMOGRAPHIC, AND SOCIO-ECONOMIC VARIABLES ******************************** ******************************************************************************************************************* ******************************************************************************************************************* * COUNTRYA * generate countrya=11 * SURVEY * generate survey=1979 * SWAVE * generate swave=0 * MSAMP * generate msamp=0 * HLDID * generate hldid=0 * PERSID * sort kohden gen persid=kohden-1 if kohden==kohden[_n+1]-1 & /// kuntam==kuntam[_n+1] & ika==ika[_n+1] & sukup==sukup[_n+1] & sivsa==sivsa[_n+1] & /// laps18==laps18[_n+1] & laps7==laps7[_n+1] & nuorin==nuorin[_n+1] & ylsiv==ylsiv[_n+1] & /// perhvai==perhvai[_n+1] & kotkok==kotkok[_n+1] replace persid=persid[_n-1] if persid[_n-1]!=. & kohden==kohden[_n-1]+1 replace persid=kohden if persid==. * ID * generate id=kohden * PARNTID1 * generate parntid1=-9 * PARNTID2 * generate parntid2=-9 * PARTID * generate partid=-9 * DAY * generate day=taytpai * MONTH * generate month=taytkuu replace month=-8 if month==99 * YEAR * generate year=1979 * DIARY * generate diary=id-persid replace diary=1 if diary==0 * BADCASE * * NO AGE OR GENDER generate loss_sex_age=1 if sukup<0 |ika==99 replace loss_sex_age=0 if loss_sex_age==. * 91+ MISSING MINUTES OF ACTIVITY gen missing_time=0 forval i= 1/68 { replace missing_time=missing_time+dur`i' if (prime`i'>=97 & prime`i'<=99) & /// (sec`i'!=1 & sec`i'!=2 & sec`i'!=3 & sec`i'!=4 & sec`i'!=5 & sec`i'!=6) & loc`i'!=2 & loc`i'!=6 } gen missing_91=missing_time-isleep-itravel-ipcare-iawayhome replace missing_91=1 if missing_time>90 replace missing_91=0 if missing_time<=90 replace missing_91=0 if missing_91==. *DIARIES WITH LESS THAN SEVEN EPISODES gen number_episodes=0 forval i= 1/68 { replace number_episodes=number_episodes+1 if prime`i'!=. } * 2+ OR MORE OF THESE BASIC ACTIVITIES MISSING: SLEEP OR REST, * EATING OR DRINKING, PERSONAL CARE, TRAVEL/EXERCISE generate sleep=0 generate travel_exercise=0 generate eating_drinking=0 generate personal_care=0 generate other_care=0 forval i= 1/68 { replace sleep=sleep+dur`i' if prime`i'==35 | prime`i'==36 | prime`i'==40 | prime`i'==91 replace travel_exercise=travel_exercise+dur`i' if (prime`i'==8 | prime`i'==18 | prime`i'==23 | prime`i'==28 | prime`i'==34 | /// prime`i'==42 | prime`i'==48 | prime`i'==58 | prime`i'==64 | prime`i'==80 | prime`i'==90 | prime`i'==92 | /// prime`i'==93 |(prime`i'>=52 & prime`i'<=57) & (loc`i'!=0 & loc`i'!=5 & loc`i'!=6 & loc`i'!=7 & loc`i'!=8)) | /// loc`i'==0 | (loc`i'>=5 & loc`i'<=8) replace eating_drinking=eating_drinking+dur`i' if (prime`i'>=9 & prime`i'<=11) | prime`i'==37 | prime`i'==77 | /// prime`i'==78 | sec`i'==3 replace personal_care=personal_care+dur`i' if (prime`i'==38 | prime`i'==39) & /// (loc`i'!=0 & loc`i'!=5 & loc`i'!=6 & loc`i'!=7 & loc`i'!=8) replace other_care=other_care+dur`i' if prime`i'==20 | prime`i'==21 | (prime`i'>=24 & prime`i'<=28) | /// prime`i'==31 | prime`i'==32 | prime`i'==71 } replace sleep=sleep+isleep local a=1 local b=2 local c=3 while `a'<=68 { replace travel_exercise=travel_exercise+dur`b' if (prime`b'>=97 & prime`b'<=99) & /// ((loc`b'>=1 & loc`b'<=4) | loc`b'==9) & /// (prime`a'!=97 & prime`a'!=98 & prime`a'!=99 ) & (prime`c'!=97 & prime`c'!=98 & prime`c'!=99 ) & /// loc`a'!=loc`c' & (loc`a'>=1 & loc`a'<=4) & (loc`c'>=1 & loc`c'<=4) & dur`a'!=. & dur`b'!=. & dur`c'!=. & /// (sec`b'!=1 & sec`b'!=2 & sec`b'!=3 & sec`b'!=4 & sec`b'!=5 & sec`b'!=6) local a=`a'+1 local b=`b'+1 local c=`c'+1 } replace personal_care=personal_care+ipcare *RECODING OF BASIC ACTIVITY replace sleep=1 if sleep>0 replace travel_exercise=1 if travel_exercise>0 replace eating_drinking=1 if eating_drinking>0 replace personal_care=1 if personal_care>0 replace other_care=1 if other_care>0 replace other_care=1 if perhvai==5 *AT HOME for at least 1000 minutes per day gen athome=0 forval i= 1/65 { replace athome=athome+dur`i' if (loc`i'==1 | loc`i'==3) } generate loss_activities_inter=3-sleep-eating_drinking-personal_care if travel_exercise==1 replace loss_activities_inter=4-sleep-eating_drinking-personal_care if travel_exercise==0 generate loss_basic_activities=0 if loss_activities_inter<2 replace loss_basic_activities=0 if loss_activities_inter==2 & number_episodes>=15 replace loss_basic_activities=0 if other_care==1 replace loss_basic_activities=0 if personal_care==0 & sleep==1 & travel_exercise==1 replace loss_basic_activities=0 if loss_activities_inter==2 & athome>=1000 & number_episodes>=12 replace loss_basic_activities=1 if loss_basic_activities==. generate missing_day=0 *BADCASE" VARIABLE generate badcase=. replace badcase=0 if loss_sex_age==0 & missing_day==0 & missing_91==0 & number_episodes>=7 & loss_basic_activities==0 replace badcase=1 if loss_sex_age==1 & missing_day==0 & missing_91==0 & number_episodes>=7 & loss_basic_activities==0 replace badcase=2 if loss_sex_age==0 & missing_day==1 & missing_91==0 & number_episodes>=7 & loss_basic_activities==0 replace badcase=3 if loss_sex_age==0 & missing_day==0 & missing_91==1 & number_episodes>=7 & loss_basic_activities==0 replace badcase=4 if loss_sex_age==0 & missing_day==0 & missing_91==0 & number_episodes<7 & loss_basic_activities==0 replace badcase=5 if loss_sex_age==0 & missing_day==0 & missing_91==0 & number_episodes>=7 & loss_basic_activities==1 replace badcase=6 if loss_sex_age==1 & missing_day==1 & missing_91==0 & number_episodes>=7 & loss_basic_activities==0 replace badcase=7 if loss_sex_age==1 & missing_day==0 & missing_91==1 & number_episodes>=7 & loss_basic_activities==0 replace badcase=8 if loss_sex_age==1 & missing_day==0 & missing_91==0 & number_episodes<7 & loss_basic_activities==0 replace badcase=9 if loss_sex_age==1 & missing_day==0 & missing_91==0 & number_episodes>=7 & loss_basic_activities==1 replace badcase=10 if loss_sex_age==0 & missing_day==1 & missing_91==1 & number_episodes>=7 & loss_basic_activities==0 replace badcase=11 if loss_sex_age==0 & missing_day==1 & missing_91==0 & number_episodes<7 & loss_basic_activities==0 replace badcase=12 if loss_sex_age==0 & missing_day==1 & missing_91==0 & number_episodes>=7 & loss_basic_activities==1 replace badcase=13 if loss_sex_age==0 & missing_day==0 & missing_91==1 & number_episodes<7 & loss_basic_activities==0 replace badcase=14 if loss_sex_age==0 & missing_day==0 & missing_91==1 & number_episodes>=7 & loss_basic_activities==1 replace badcase=15 if loss_sex_age==0 & missing_day==0 & missing_91==0 & number_episodes<7 & loss_basic_activities==1 replace badcase=16 if loss_sex_age==1 & missing_day==1 & missing_91==1 & number_episodes>=7 & loss_basic_activities==0 replace badcase=17 if loss_sex_age==1 & missing_day==1 & missing_91==0 & number_episodes<7 & loss_basic_activities==0 replace badcase=18 if loss_sex_age==1 & missing_day==1 & missing_91==0 & number_episodes>=7 & loss_basic_activities==1 replace badcase=19 if loss_sex_age==1 & missing_day==0 & missing_91==1 & number_episodes<7 & loss_basic_activities==0 replace badcase=20 if loss_sex_age==1 & missing_day==0 & missing_91==1 & number_episodes>=7 & loss_basic_activities==1 replace badcase=21 if loss_sex_age==1 & missing_day==0 & missing_91==0 & number_episodes<7 & loss_basic_activities==1 replace badcase=22 if loss_sex_age==0 & missing_day==1 & missing_91==1 & number_episodes<7 & loss_basic_activities==0 replace badcase=23 if loss_sex_age==0 & missing_day==1 & missing_91==1 & number_episodes>=7 & loss_basic_activities==1 replace badcase=24 if loss_sex_age==0 & missing_day==1 & missing_91==0 & number_episodes<7 & loss_basic_activities==1 replace badcase=25 if loss_sex_age==0 & missing_day==0 & missing_91==1 & number_episodes<7 & loss_basic_activities==1 replace badcase=26 if loss_sex_age==1 & missing_day==1 & missing_91==1 & number_episodes<7 & loss_basic_activities==0 replace badcase=27 if loss_sex_age==1 & missing_day==1 & missing_91==1 & number_episodes>=7 & loss_basic_activities==1 replace badcase=28 if loss_sex_age==1 & missing_day==1 & missing_91==0 & number_episodes<7 & loss_basic_activities==1 replace badcase=29 if loss_sex_age==1 & missing_day==0 & missing_91==1 & number_episodes<7 & loss_basic_activities==1 replace badcase=30 if loss_sex_age==0 & missing_day==1 & missing_91==1 & number_episodes<7 & loss_basic_activities==1 replace badcase=31 if loss_sex_age==1 & missing_day==1 & missing_91==1 & number_episodes<7 & loss_basic_activities==1 * HHTYPE * generate kotkokB=kotkok replace kotkokB=kotkokB+1 if ika<18 generate laps18B=laps18 replace laps18B=laps18B+1 if ika<18 replace kotkokB=kotkokB+laps18B if perhvai==5 & kotkokB==1 replace kotkokB=kotkokB+1 if perhvai==5 & kotkokB==1 replace kotkokB=kotkokB+laps18B if perhvai==4 & kotkokB==2 replace kotkokB=kotkokB+1 if perhvai==4 & kotkokB==2 replace kotkokB=kotkokB+laps18B if perhvai==1 & kotkokB==2 replace kotkokB=kotkokB+1 if perhvai==1 & kotkokB==2 generate hhtype=1 if kotkokB==1 & laps18B==0 & perhvai==2 replace hhtype=2 if kotkokB==2 & laps18B==0 & perhvai==3 replace hhtype=3 if kotkokB>=3 & (perhvai==1 | perhvai==4) replace hhtype=4 if kotkokB>0 & perhvai==5 replace hhtype=1 if kotkokB==1 & hhtype==. replace kotkokB=kotkokB+1 if hhtype==. & perhvai==1 replace hhtype=3 if hhtype==. & perhvai==1 replace kotkokB=kotkokB+1 if hhtype==. & perhvai==4 replace hhtype=3 if hhtype==. & (perhvai==4 | perhvai==3) replace hhtype=4 if hhtype==. replace hhtype=1 if kotkokB==1 * HHLDSIZE* generate hhldsize=kotkokB replace hhldsize=-8 if kotkokB>97 * NCHILD * generate nchild=laps18 replace nchild=-8 if nchild==. replace nchild=nchild+1 if ika<18 & (nchild!=-8 & nchild!=.) replace nchild=1 if ika<18 & (nchild==-8 | nchild==.) replace nchild=0 if ika==99 & (nuorin==. | nuorin==99) * AGEKIDX * generate agekidx=-7 replace agekidx=1 if nuorin>=0 & nuorin<=4 replace agekidx=2 if nuorin>=5 & nuorin<=12 replace agekidx=3 if nuorin>=13 & nuorin<=17 replace agekidx=1 if agekidx==-7 & (ika>=0 & ika<=4) replace agekidx=2 if agekidx==-7 & (ika>=5 & ika<=12) replace agekidx=3 if agekidx==-7 & (ika>=13 & ika<=17) replace agekidx=-8 if agekidx==-7 & nchild>0 * AGEKID2 * generate agekid2=-7 replace agekid2=nuorin if nuorin!=. & nuorin!=99 replace agekid2=ika if agekid2==-7 & (ika>=0 & ika<=17) * INCORIG * gen incorig=-9 * INCOME * gen income=-9 * OWNHOME * generate ownhome=-9 * URBAN * generate urban=kuntam * COMPUTER * generate computer=-9 * VEHICLE * * Note: The survey only asked about whether the household has one or more cars. * So vehicle code 3 in this case means one or more cars. generate vehicle=0 if auto==2 replace vehicle=3 if auto==1 replace vehicle=-8 if auto==. * SEX * generate sex=sukup * AGE * generate age=ika *creates 16 missing ages *tries to see if age can be recreated using psyvu and psuhde local a=1 while `a'<=10 { replace age=79-psyvu`a' if psuhde`a'==0 & age==99 & psyvu`a'>0 & psyvu`a'<99 local a=`a'+1 } *no age variables can be recreated replace age=18 if age==99 * FAMSTAT * generate famstat=0 if (age>=18 & age<=39) & laps18B==0 replace famstat=3 if age>=40 & laps18B==0 replace famstat=1 if age>=18 & (nuorin>=0 & nuorin<=4) replace famstat=2 if age>=18 & (nuorin>=5 & nuorin<=17) replace famstat=4 if age>0 & age<18 & perhvai==1 replace famstat=5 if age>0 & age<18 & famstat==. replace famstat=-8 if famstat==. * CPHOME * generate cphome=1 if perhvai==1 & nchild>0 replace cphome=0 if cphome==. * SINGPAR * generate singpar=0 replace singpar=1 if kotkokB>0 & perhvai==5 * RELREFP * * Only one person per household completed the questionaire therefore * the respodent is the reference person ("Person 1) generate relrefp=-9 * CIVSTAT * generate civstat=1 if sivsa==2 replace civstat=2 if sivsa==1 *the cases below was changed because respondent to spending some time with spouse and is under the age of 18 replace civstat=1 if kohden==49421 | kohden==49422 | kohden==51781 | kohden==51782 *there are some differences between variables perhvai and sivsa which both ask about marital status * if this is the case perhvai is used instead of sivsa because it is more detailed replace civstat=2 if hhtype==1 | hhtype==4 * COHAB * generate cohab=-9 * CITIZEN * generate citizen=-9 * EMPSTAT * generate empstat=1 if (ammas==1 | ammas==2 | ammas==4) & tyotu>29 & ptoim==1 replace empstat=2 if (ammas==1 | ammas==2 | ammas==4) & tyotu<30 & ptoim==1 replace empstat=3 if (ammas==1 | ammas==2 | ammas==4) & tyotu==. & ptoim==1 * note: no missing values for employment status (ptoim) therefore the * remaing observations can be classfied as "not in paid work". replace empstat=4 if empstat==. * EMP * gen emp=0 replace emp=1 if (ammas==1 | ammas==2 | ammas==4) & ptoim==1 * UNEMP * generate unemp=0 replace unemp=1 if ptoim==2 | (ptoim==1 & (ammas==3 | ammas==5)) * STUDENT * generate student=0 replace student=1 if ptoim==4 * RETIRED * generate retired=0 replace retired=1 if ptoim==6 * EMPSP * generate empsp=1 if (pammas==1 | pammas==2 | pammas==4) & ptyotu>29 & civstat==1 replace empsp=2 if (pammas==1 | pammas==2 | pammas==4) & ptyotu<30 & civstat==1 replace empsp=3 if (pammas==1 | pammas==2 | pammas==4) & ptyotu==. & civstat==1 replace empsp=4 if (puoltoi==2 | (puoltoi>3 & puoltoi<9) | (pammas!=1 & pammas!=2 & pammas!=4 & puoltoi==1)) & civstat==1 replace empsp=-7 if (empsp==. | puoltoi==3) & civstat==1 replace empsp=-7 if empsp==. replace empsp=-8 if civstat==1 & empsp==-7 * WORKHRS * generate workhrs=tyotu if (ammas==1 | ammas==2 | ammas==4) & ptoim==1 replace workhrs=-7 if (ammas==1 | ammas==2 | ammas==4) & ptoim==1 & workhrs==. replace workhrs=0 if workhrs==. * EMPINCLM * generate empinclm=-9 * OCCUP * generate occup=-9 replace occup=1 if ammtun==5 replace occup=2 if ammtun==4 replace occup=3 if ammtun==1 replace occup=5 if ammtun==3 replace occup=6 if ammtun==2 replace occup=8 if ammtun==19 replace occup=9 if ammtun==6 | ammtun==7 replace occup=10 if ammtun==20 replace occup=11 if ammtun==8 | ammtun==9 | ammtun==18 replace occup=12 if ammtun==10 replace occup=13 if (ammtun>=11 & ammtun<=17) * SECTOR * generate sector=-9 * EDUCA * * The original data contains one unlabelled educational category generate educa=ylsiv /* The following are the original educationalcategories: 1 matriculation 2 middle/comprehensive 3 primary/middle 4 part primary/nothing 9 cannot say */ lab var educa "Educational level-original study code" lab def educa_label /// 1 "matriculation" /// 2 "middle/comprehensive" /// 3 "primary/middle" /// 4 "part primary/nothing" /// 9 "cannot say" lab val educa educa_label * EDTRY * generate edtry=. replace edtry=1 if ylsiv==3 | ylsiv==4 replace edtry=2 if ylsiv==2 replace edtry=3 if ylsiv==1 replace edtry=-7 if ylsiv==9 * RUSHED * generate rushed=-9 * HEALTH * generate health=0 if tervey==1 replace health=1 if tervey==2 | tervey==3 replace health=2 if tervey==4 replace health=-8 if health==. * CARER * generate carer=0 forval i= 1/68 { replace carer=1 if prime`i'==20 | prime`i'==21 } sort persid id replace carer=1 if carer[_n+1]==1 & persid[_n+1]==persid replace carer=1 if carer[_n-1]==1 & persid[_n-1]==persid * DISAB * generate disab=1 if tervey==1 replace disab=0 if tervey==2 | tervey==3 | tervey==4 replace disab=-8 if disab==. ******************************************************************************************************************* ******************************************************************************************************************* ************************************* GENERATE AV VARIABLES ******************************************************* ******************************************************************************************************************* ******************************************************************************************************************* *creates all 41 AV variables and initially sets them to zero forval i= 1/41 { gen av`i'=0 } * AV 1 forval i= 1/68 { replace av1=av1+dur`i' if ((prime`i'==1 | prime`i'==3 | prime`i'==4 | prime`i'==5 | /// prime`i'==7) & loc`i'!=1) | ((prime`i'==79 | prime`i'==91) & loc`i'==2 ) | /// (loc`i'==2 & (prime`i'>=97 & prime`i'<=99) & (sec`i'==. | sec`i'==0 | sec`i'>6)) | /// ((prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'==2) } * AV 2 forval i= 1/68 { replace av2=av2+dur`i' if (prime`i'>=1 & prime`i'<=7) & loc`i'==1 } * AV 3 forval i= 1/68 { replace av3=av3+dur`i' if (prime`i'==2 | prime`i'==6) & loc`i'!=1 } * AV 4 forval i= 1/68 { replace av4=av4+dur`i' if (prime`i'==43 | prime`i'==47 | prime`i'==49) } * AV 5 forval i= 1/68 { replace av5=av5+dur`i' if prime`i'==8 | prime`i'==45 } * AV 6 forval i= 1/68 { replace av6=av6+dur`i' if (prime`i'>=9 & prime`i'<=11) } * AV 7 forval i= 1/68 { replace av7=av7+dur`i' if (prime`i'==12 | prime`i'==13) } * AV 8 forval i= 1/68 { replace av8=av8+dur`i' if ((prime`i'>=15 & prime`i'<=17) | (prime`i'>=19 & prime`i'<=22) | /// (sec`i'==6 & (prime`i'>=97 & prime`i'<=99))) } * AV 9 forval i= 1/68 { replace av9=av9+dur`i' if (prime`i'==18) } * AV 10 forval i= 1/68 { replace av10=av10+dur`i' if (prime`i'==29 | prime`i'==30 | prime`i'==33) } * AV 11 forval i= 1/68 { replace av11=av11+dur`i' if (prime`i'>=24 & prime`i'<=27) | prime`i'==31 | prime`i'==71 } * AV 12 forval i= 1/68 { replace av12=av12+dur`i' if prime`i'==23 | prime`i'==28 | prime`i'==34 | prime`i'==42 } * AV 13 forval i= 1/68 { replace av13=av13+dur`i' if (prime`i'==38 | prime`i'==39) } replace av13=av13+ipcare * AV 14 forval i= 1/68 { replace av14=av14+dur`i' if (prime`i'==32 | prime`i'==41) } * AV 15 forval i= 1/68 { replace av15=av15+dur`i' if (prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'!=2 } * AV 16 forval i= 1/68 { replace av16=av16+dur`i' if prime`i'==35 | prime`i'==36 | prime`i'==40 } replace av16=av16+isleep * AV 17 forval i= 1/68 { replace av17=av17+dur`i' if prime`i'==48 | prime`i'==52 | prime`i'==58 | prime`i'==64 | prime`i'==80 | prime`i'==90 | prime`i'==93 } * AV 18 forval i= 1/68 { replace av18=av18+dur`i' if (prime`i'==62 | prime`i'==92) } * AV 19 forval i= 1/68 { replace av19=av19+dur`i' if (prime`i'>=54 & prime`i'<=57) } * AV 20 forval i= 1/68 { replace av20=av20+dur`i' if prime`i'==59 } * AV 21 forval i= 1/68 { replace av21=av21+dur`i' if prime`i'==53 } * AV 22 forval i= 1/68 { replace av22=av22+dur`i' if prime`i'==51 } * AV 23 forval i= 1/68 { replace av23=av23+dur`i' if prime`i'==50 } * AV 24 forval i= 1/68 { replace av24=av24+dur`i' if prime`i'==60 | prime`i'==61 | prime`i'==63 } * AV 25 forval i= 1/68 { replace av25=av25+dur`i' if prime`i'==75 | prime`i'==86 | /// (prime`i'==72 & (loc`i'!=1 & loc`i'!=3)) | (prime`i'==79 & (loc`i'!=1 & loc`i'!=2 & loc`i'!=3)) } * AV 26 replace av26=-9 * AV 27 replace av27=-9 * AV 28 forval i= 1/68 { replace av28=av28+dur`i' if prime`i'==77 | prime`i'==78 } * AV 29 forval i= 1/68 { replace av29=av29+dur`i' if prime`i'==73 | ((prime`i'==72 | prime`i'==79) & loc`i'==3) } * AV 30 forval i= 1/68 { replace av30=av30+dur`i' if (sec`i'==1 & (prime`i'>=97 & prime`i'<=99)) | prime`i'==69 } * AV 31 forval i= 1/68 { replace av31=av31+dur`i' if prime`i'==70 | (sec`i'==2 & (prime`i'>=97 & prime`i'<=99)) } * AV 32 forval i= 1/68 { replace av32=av32+dur`i' if (prime`i'==87) } * AV 33 forval i= 1/68 { replace av33=av33+dur`i' if (prime`i'==44) } * AV 34 forval i= 1/68 { replace av34=av34+dur`i' if (prime`i'==67) } * AV 35 forval i= 1/68 { replace av35=av35+dur`i' if prime`i'==65 | prime`i'==66 | prime`i'==68 | /// (sec`i'==4 & (prime`i'>=97 & prime`i'<=99)) } * AV 36 forval i= 1/68 { replace av36=av36+dur`i' if prime`i'==94 | (prime`i'==91 & loc`i'!=2) } * AV 37 forval i= 1/68 { replace av37=av37+dur`i' if prime`i'==76 } * AV 38 forval i= 1/68 { replace av38=av38+dur`i' if prime`i'==74 | ((prime`i'==72 | prime`i'==79) & loc`i'==1) } * AV 39 forval i= 1/68 { replace av39=av39+dur`i' if prime`i'==14 | (sec`i'==5 & (prime`i'>=97 & prime`i'<=99)) } * AV 40 forval i= 1/68 { replace av40=av40+dur`i' if prime`i'==46 | (prime`i'>=81 & prime`i'<=85) | prime`i'==88 | prime`i'==89 } * AV 41 forval i= 1/68 { replace av41=av41+dur`i' if (prime`i'>=97 & prime`i'<=99) & loc`i'!=2 & /// (sec`i'!=1 & sec`i'!=2 & sec`i'!=3 & sec`i'!=4 & sec`i'!=5 & sec`i'!=6) } replace av41=av41-isleep-ipcare ******************************************************************************************************************* ******************************************************************************************************************* ************************************* GENERATE MAIN VARIABLES ***************************************************** ******************************************************************************************************************* ******************************************************************************************************************* forval i= 1/69 { gen main`i'=0 } * MAIN 1 replace main1=ipcare * MAIN 2 forval i= 1/68 { replace main2=main2+dur`i' if prime`i'==35 | prime`i'==36 | prime`i'==40 } * MAIN 3 replace main3=isleep replace main3=-9 * MAIN 4 forval i= 1/68 { replace main4=main4+dur`i' if prime`i'==38 | prime`i'==39 } * MAIN 5 forval i= 1/68 { replace main5=main5+dur`i' if (prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'==2 } * MAIN 6 forval i= 1/68 { replace main6=main6+dur`i' if (prime`i'==37 | (sec`i'==3 & (prime`i'>=97 & prime`i'<=99))) & loc`i'!=2 } * MAIN 7 forval i= 1/68 { replace main7=main7+dur`i' if ((prime`i'==1 | prime`i'==3 | prime`i'==4 | prime`i'==5) & loc`i'!=1 ) | /// (loc`i'==2 & (prime`i'>=97 & prime`i'<=99) & (sec`i'==. | sec`i'==0 | sec`i'>6)) } * MAIN 8 forval i= 1/68 { replace main8=main8+dur`i' if (prime`i'>=1 & prime`i'<=7) & loc`i'==1 } * MAIN 9 forval i= 1/68 { replace main9=main9+dur`i' if (prime`i'==2 | prime`i'==6) & loc`i'!=1 } * MAIN 10 replace main10=-9 * MAIN 11 replace main11=-9 * MAIN 12 forval i= 1/68 { replace main12=main12+dur`i' if (prime`i'==79 | prime`i'==91) & loc`i'==2 } * MAIN 13 forval i= 1/68 { replace main13=main13+dur`i' if prime`i'==7 & loc`i'!=1 } * MAIN 14 replace main14=-9 * MAIN 15 forval i= 1/68 { replace main15=main15+dur`i' if prime`i'==43 } * MAIN 16 forval i= 1/68 { replace main16=main16+dur`i' if prime`i'==44 } * MAIN 17 forval i= 1/68 { replace main17=main17+dur`i' if prime`i'==46 | prime`i'==47 | prime`i'==49 } * MAIN 18 forval i= 1/68 { replace main18=main18+dur`i' if prime`i'==9 | prime`i'==10 } * MAIN 19 forval i= 1/68 { replace main19=main19+dur`i' if prime`i'==11 } * MAIN 20 forval i= 1/68 { replace main20=main20+dur`i' if prime`i'==12 } * MAIN 21 forval i= 1/68 { replace main21=main21+dur`i' if prime`i'==13 | prime`i'==15 } * MAIN 22 forval i= 1/68 { replace main22=main22+dur`i' if prime`i'==16 | prime`i'==17 | prime`i'==19 } * MAIN 23 forval i= 1/68 { replace main23=main23+dur`i' if prime`i'==22 | (sec`i'==6 & (prime`i'>=97 & prime`i'<=99)) } * MAIN 24 forval i= 1/68 { replace main24=main24+dur`i' if prime`i'==29 } * MAIN 25 forval i= 1/68 { replace main25=main25+dur`i' if prime`i'==32 | prime`i'==41 } * MAIN 26 forval i= 1/68 { replace main26=main26+dur`i' if prime`i'==30 | prime`i'==33 } * MAIN 27 forval i= 1/68 { replace main27=main27+dur`i' if prime`i'==18 & ((loc`i'==1 | loc`i'==3) | /// ((loc`i'==4 | loc`i'==9) & dur`i'<=30)) } * MAIN 28 forval i= 1/68 { replace main28=main28+dur`i' if prime`i'==24 | prime`i'==27 | prime`i'==31 } * MAIN 29 replace main29=-9 * MAIN 30 forval i= 1/68 { replace main30=main30+dur`i' if prime`i'==25 | prime`i'==71 } * MAIN 31 forval i= 1/68 { replace main31=main31+dur`i' if prime`i'==26 } * MAIN 32 forval i= 1/68 { replace main32=main32+dur`i' if prime`i'==20 | prime`i'==21 } * MAIN 33 forval i= 1/68 { replace main33=main33+dur`i' if prime`i'==50 } * MAIN 34 forval i= 1/68 { replace main34=main34+dur`i' if prime`i'==51 } * MAIN 35 replace main35=-9 * MAIN 36 forval i= 1/68 { replace main36=main36+dur`i' if prime`i'==59 } * MAIN 37 forval i= 1/68 { replace main37=main37+dur`i' if prime`i'==60 | prime`i'==61 | prime`i'==63 } * MAIN 38 forval i= 1/68 { replace main38=main38+dur`i' if prime`i'==62 } * MAIN 39 forval i= 1/68 { replace main39=main39+dur`i' if prime`i'==77 | prime`i'==78 } * MAIN 40 forval i= 1/68 { replace main40=main40+dur`i' if prime`i'==75 | prime`i'==86 | /// (prime`i'==79 & (loc`i'!=1 & loc`i'!=2 & loc`i'!=3)) } * MAIN 41 replace main41=iawayhome * MAIN 42 forval i= 1/68 { replace main42=main42+dur`i' if (prime`i'==54 | prime`i'==55 | prime`i'==57) & loc`i'!=6 } * MAIN 43 forval i= 1/68 { replace main43=main43+dur`i' if prime`i'==53 | (loc`i'==5 & (prime`i'>=97 & prime`i'<=99) & /// (sec`i'==. | sec`i'==0 | sec`i'>6)) } * MAIN 44 forval i= 1/68 { replace main44=main44+dur`i' if (prime`i'==54 | prime`i'==55 | prime`i'==57 | /// (prime`i'>=97 & prime`i'<=99)) & (loc`i'==6 & (sec`i'==. | sec`i'==0 | sec`i'>6)) } * MAIN 45 forval i= 1/68 { replace main45=main45+dur`i' if prime`i'==92 } * MAIN 46 forval i= 1/68 { replace main46=main46+dur`i' if prime`i'==56 | (prime`i'==18 & ((loc`i'==2 | loc`i'==0 | loc`i'==6 | /// loc`i'==7 | loc`i'==8) | ((loc`i'==4 | loc`i'==9) & dur`i'>30))) } * MAIN 47 forval i= 1/68 { replace main47=main47+dur`i' if (prime`i'==18) & loc`i'==5 } * MAIN 48 forval i= 1/68 { replace main48=main48+dur`i' if (prime`i'>=72 & prime`i'<=74) } * MAIN 49 forval i= 1/68 { replace main49=main49+dur`i' if prime`i'==76 } * MAIN 50 forval i= 1/68 { replace main50=main50+dur`i' if prime`i'==84 | prime`i'==85 | (prime`i'==79 & (loc`i'==1 | loc`i'==3)) } * MAIN 51 forval i= 1/68 { replace main51=main51+dur`i' if prime`i'==94 } * MAIN 52 forval i= 1/68 { replace main52=main52+dur`i' if prime`i'==82 } * MAIN 53 forval i= 1/68 { replace main53=main53+dur`i' if prime`i'==88 } * MAIN 54 forval i= 1/68 { replace main54=main54+dur`i' if prime`i'==14 | prime`i'==81 | prime`i'==83 | prime`i'==89 /// | (sec`i'==5 & (prime`i'>=97 & prime`i'<=99)) } * MAIN 55 forval i= 1/68 { replace main55=main55+dur`i' if prime`i'==91 & loc`i'!=2 } * MAIN 56 forval i= 1/68 { replace main56=main56+dur`i' if (prime`i'>=65 & prime`i'<=68) | (sec`i'==4 & /// (prime`i'>=97 & prime`i'<=99)) } * MAIN 57 forval i= 1/68 { replace main57=main57+dur`i' if (prime`i'==87) } * MAIN 58 forval i= 1/68 { replace main58=main58+dur`i' if (sec`i'==1 & (prime`i'>=97 & prime`i'<=99)) | (prime`i'==69) } * MAIN 59 forval i= 1/68 { replace main59=main59+dur`i' if (prime`i'==70) | (sec`i'==2 & (prime`i'>=97 & prime`i'<=99)) } * MAIN 60 replace main60=-9 * MAIN 61 replace main61=-9 * MAIN 62 replace main62=itravel * MAIN 63 forval i= 1/68 { replace main63=main63+dur`i' if prime`i'==8 } * MAIN 64 forval i= 1/68 { replace main64=main64+dur`i' if prime`i'==45 } * MAIN 65 forval i= 1/68 { replace main65=main65+dur`i' if prime`i'==52 } * MAIN 66 forval i= 1/68 { replace main66=main66+dur`i' if prime`i'==28 } * MAIN 67 forval i= 1/68 { replace main67=main67+dur`i' if prime`i'==23 | prime`i'==34 | prime`i'==42 } * MAIN 68 forval i= 1/68 { replace main68=main68+dur`i' if prime`i'==48 | prime`i'==58 | prime`i'==64 | prime`i'==80 | /// prime`i'==90 | prime`i'==93 } *MAIN 69 forval i= 1/68 { replace main69=main69+dur`i' if (prime`i'>=97 & prime`i'<=99) & loc`i'!=2 & loc`i'!=6 & /// (sec`i'!=1 & sec`i'!=2 & sec`i'!=3 & sec`i'!=4 & sec`i'!=5 & sec`i'!=6) } replace main69=main69-isleep-itravel-ipcare-iawayhome ******************************************************************************************************************* ******************************************************************************************************************* ************************************* GENERATE SECONDARY VARIABLES ************************************************ ******************************************************************************************************************* ******************************************************************************************************************* forval i= 1/69 { gen sec`i't=-9 } * SEC 5 replace sec5t=0 forval i= 1/68 { replace sec5t=sec5t+dur`i' if sec`i'==3 & loc`i'==2 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 6 replace sec6t=0 forval i= 1/68 { replace sec6t=sec6t+dur`i' if sec`i'==3 & loc`i'!=2 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 23 replace sec23t=0 forval i= 1/68 { replace sec23t=sec23t+dur`i' if sec`i'==6 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 54 replace sec54t=0 forval i= 1/68 { replace sec54t=sec54t+dur`i' if sec`i'==5 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 56 replace sec56t=0 forval i= 1/68 { replace sec56t=sec56t+dur`i' if sec`i'==4 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 58 replace sec58t=0 forval i= 1/68 { replace sec58t=sec58t+dur`i' if sec`i'==1 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 59 replace sec59t=0 forval i= 1/68 { replace sec59t=sec59t+dur`i' if sec`i'==2 & (prime`i'!=97 & prime`i'!=98 & prime`i'!=99) } * SEC 62 replace sec62t=0 forval i= 1/68 { replace sec62t=sec62t+dur`i' if (prime`i'!=8 & prime`i'!=23 & prime`i'!=28 & prime`i'!=34 & prime`i'!=42 & /// prime`i'!=45 & prime`i'!=48 & prime`i'!=52 & prime`i'!=58 & prime`i'!=64 & prime`i'!=80 & prime`i'!=90) & /// ((loc`i'==0 | loc`i'==5 | loc`i'==6 | loc`i'==7 | loc`i'==8) & (sec`i'==. | sec`i'==0 | sec`i'>6)) } * SEC 69 replace sec69t=0 forval i= 1/68 { replace sec69t=1440-sec5t-sec6t-sec23t-sec54t-sec56t-sec58t-sec59t-sec68t } drop sec1-sec70 renvars sec1t-sec69t, postdrop(1) * SSPART * gen sppart=0 forval i=1/10 { replace sppart=yhdolo`i' if psuhde`i'==1 & sppart==0 & ika>15 } replace sppart=0 if civstat==1 & sppart==0 replace sppart=-7 if civstat!=1 & sppart==0 replace sppart=sppart*10 if sppart!=-7 replace sppart=-7 if sppart==. * OCOMBWT * generate ocombwt=kerroin * PROPWT * egen count=count(badcase) egen countp_bis=count(badcase) if badcase==0 egen countp=min(countp_bis) sort sex age day egen daywt=group(sex age day) if badcase==0 egen ngroupsd=max(daywt) if badcase==0 by sex age day: egen daycount2=count(daywt) if badcase==0 sort sex age egen weekwt=group(sex age) if badcase==0 egen ngroupsp=max(weekwt) if badcase==0 by sex age: egen wkcount2=count(weekwt) if badcase==0 generate propwt=((wkcount2/7)/daycount2) replace propwt=0 if badcase!=0 replace propwt=propwt*(count/countp) save "N:\FIN1979W5temp.dta", replace ******************************************************************************************************************* ******************************************************************************************************************* ****************************************** WE NOW SAVE THE W5 DATASETS ******************************************* ******************************************************************************************************************* ******************************************************************************************************************* * W553 * use "N:\FIN1979W5temp.dta", clear drop mainx* avx* keep countrya survey swave msamp hldid persid id parntid1 parntid2 partid /// day month year diary badcase hhtype hhldsize nchild agekidx agekid2 incorig /// income ownhome urban computer vehicle sex age famstat cphome singpar relrefp /// civstat cohab citizen empstat emp unemp student retired empsp workhrs empinclm /// occup sector educa edtry rushed health carer disab av* ocombwt propwt order countrya survey swave msamp hldid persid id parntid1 parntid2 partid /// day month year diary badcase hhtype hhldsize nchild agekidx agekid2 incorig /// income ownhome urban computer vehicle sex age famstat cphome singpar relrefp /// civstat cohab citizen empstat emp unemp student retired empsp workhrs empinclm /// occup sector educa edtry rushed health carer disab av* ocombwt propwt sort swave msamp hldid persid id compress save "N:\FIN1979W553.dta", replace * W58 * use "N:\FIN1979W5temp.dta", clear drop if age<18 & age!=-8 drop count countp_bis countp daywt ngroupsd weekwt ngroupsp daycount2 wkcount2 propwt sort swave msamp hldid persid id egen count=count(badcase) egen countp_bis=count(badcase) if badcase==0 egen countp=min(countp_bis) sort sex age day egen daywt=group(sex age day) if badcase==0 egen ngroupsd=max(daywt) if badcase==0 by sex age day: egen daycount2=count(daywt) if badcase==0 sort sex age egen weekwt=group(sex age) if badcase==0 egen ngroupsp=max(weekwt) if badcase==0 by sex age: egen wkcount2=count(weekwt) if badcase==0 generate propwt=((wkcount2/7)/daycount2) replace propwt=0 if badcase!=0 replace propwt=propwt*(count/countp) drop mainx* avx* keep countrya survey swave msamp hldid persid id parntid1 parntid2 partid /// day month year diary badcase hhtype hhldsize nchild agekidx agekid2 incorig /// income ownhome urban computer vehicle sex age famstat cphome singpar relrefp /// civstat cohab citizen empstat emp unemp student retired empsp workhrs empinclm /// occup sector educa edtry rushed health carer disab main* av* sppart ocombwt propwt order countrya survey swave msamp hldid persid id parntid1 parntid2 partid /// day month year diary badcase hhtype hhldsize nchild agekidx agekid2 incorig /// income ownhome urban computer vehicle sex age famstat cphome singpar relrefp /// civstat cohab citizen empstat emp unemp student retired empsp workhrs empinclm /// occup sector educa edtry rushed health carer disab main* av* sppart ocombwt propwt compress save "N:\FIN1979W58.dta", replace * W58KID * use "N:\FIN1979W5temp.dta", clear drop if age>=18 | age==-8 drop count countp_bis countp daywt ngroupsd weekwt ngroupsp daycount2 wkcount2 propwt sort swave msamp hldid persid id egen count=count(badcase) egen countp_bis=count(badcase) if badcase==0 egen countp=min(countp_bis) sort sex age day egen daywt=group(sex age day) if badcase==0 egen ngroupsd=max(daywt) if badcase==0 by sex age day: egen daycount2=count(daywt) if badcase==0 sort sex age egen weekwt=group(sex age) if badcase==0 egen ngroupsp=max(weekwt) if badcase==0 by sex age: egen wkcount2=count(weekwt) if badcase==0 generate propwt=((wkcount2/7)/daycount2) replace propwt=0 if badcase!=0 replace propwt=propwt*(count/countp) drop mainx* avx* keep countrya survey swave msamp hldid persid id parntid1 parntid2 partid /// day month year diary badcase hhtype hhldsize nchild agekidx agekid2 incorig /// income ownhome urban computer vehicle sex age famstat cphome singpar relrefp /// civstat cohab citizen empstat emp unemp student retired empsp workhrs empinclm /// occup sector educa edtry rushed health carer disab main* av* sppart ocombwt propwt order countrya survey swave msamp hldid persid id parntid1 parntid2 partid /// day month year diary badcase hhtype hhldsize nchild agekidx agekid2 incorig /// income ownhome urban computer vehicle sex age famstat cphome singpar relrefp /// civstat cohab citizen empstat emp unemp student retired empsp workhrs empinclm /// occup sector educa edtry rushed health carer disab main* av* sppart ocombwt propwt sort swave msamp hldid persid id compress save "N:\FIN1979W58kid.dta", replace ******************************************************************************************************************* ******************************************************************************************************************* ****************************************** W6 VARIABLES ********************************************************** ******************************************************************************************************************* ******************************************************************************************************************* clear set memory 480000 set maxvar 5000 set matsize 1000 set more off use "N:\FIN1979W5temp.dta", clear * CDAY * gen cday=-9 * RESHAPE TO LONG FORMAT sort id keep countrya survey swave msamp hldid persid id day cday month year diary badcase sex /// age stmin* sthr* mainx* avx* secx* loc* dur* prime* compress reshape long stmin sthr mainx avx secx loc dur prime , i(id) j(epnum) sort id drop if prime==. * START * gen start=(sthr*60)+stmin * END * gen end=(sthr*60)+stmin+dur * TIME * generate time=dur * CLOCKST * gen clockst=0 replace clockst=floor(start/60)+(((start/60)-(floor(start/60)))*0.6) format clockst %12.2f * EPNUM * * Already created, no changes necessary * MAIN * rename mainx main * SEC* rename secx sec * AV * rename avx av * PREPERATION OF LOCATION VARIABLES * missing location codes are replaced with those that are neighboring if the * neighboring activity code is the same sort id epnum replace loc=loc[_n-1] if loc==9 & loc[_n-1]!=9 & prime==prime[_n-1] & id==id[_n-1] replace loc=loc[_n+1] if loc==9 & loc[_n+1]!=9 & prime==prime[_n+1] & id==id[_n+1] * INOUT * generate inout=-8 replace inout=1 if (loc==1 | loc==3) & (prime>=1 & prime<=96) replace inout=2 if (loc>=5 & loc<=6) | prime==53 replace inout=3 if (loc>=7 & loc<=8) | prime==93 replace inout=3 if inout==-8 & (prime==8 | prime==23 | prime==28 | prime==34 | prime==42 | /// prime==45 | prime==48 | prime==52 | prime==58 | prime==64 | prime==80 | prime==90 | prime==92 | prime==93) replace inout=1 if (inout==-8 & (prime==1 | prime==2 | prime==6 | (prime>=9 & prime<=16) | prime==19 | /// prime==22 | (prime>=29 & prime<=33) | (prime>=35 & prime<=41) | prime==43 | prime==44 | prime==46 | prime==47 | /// prime==49 | prime==51 | (prime>=60 & prime<=61) | (prime>=65 & prime<=70) | prime==73 | prime==74 | /// (prime>=76 & prime<=78) | (prime>=81 & prime<=89) | prime==91 | sec==2 | sec==4 | sec==5)) & /// (loc!=0 & loc!=5 & loc!=6 & loc!=7 & loc!=8) & prime!=97 & prime!=98 & prime!=99 replace inout=2 if ((inout==-8 & ((prime>=3 & prime<=5) | prime==26 | prime==56 | prime==75) | prime==3 | prime==5) /// | (inout==1 & (prime==8 | prime==23 | prime==28 | prime==34 | prime==42 | /// prime==45 | prime==48 | prime==52 | prime==58 | prime==64 | prime==80 | prime==90 | prime==92 | prime==93))) & /// (loc!=0 & loc!=1 & loc!=3 & loc!=5 & loc!=6 & loc!=7 & loc!=8) replace inout=2 if loc==6 * ELOC * generate eloc=-8 if loc==9 replace eloc=1 if loc==1 | (loc==9 & (prime==17 | prime==44 | prime==46 | prime==74)) replace eloc=2 if loc==3 | (loc==9 & prime==73) replace eloc=3 if loc==2 | (loc==9 & (prime>=1 & prime<=7)) replace eloc=4 if prime==43 & (loc!=0 & loc!=5 & loc!=6 & loc!=7 & loc!=8) replace eloc=5 if (prime==29 | prime==30 | prime==32 | prime==33 | prime==41) /// & (loc!=0 & loc!=5 & loc!=6 & loc!=7 & loc!=8) replace eloc=6 if (prime==77 | prime==78) & (loc!=0 & loc!=5 & loc!=6 & loc!=7 & loc!=8) replace eloc=7 if (prime==51) & loc==4 replace eloc=8 if prime==8 | prime==23 | prime==28 | prime==34 | prime==42 | prime==45 | prime==48 | /// prime==52 | prime==58 | prime==64 | prime==80 | prime==90 | prime==92 | prime==93 | loc==0 | (loc>=5 & loc<=8) replace eloc=-8 if eloc==. * ICT * gen ict=-9 * MTRAV * gen mtrav=0 replace mtrav=-7 if (loc>=1 & loc<=4) | loc==9 replace mtrav=1 if loc==7 | (prime==93 & loc==-7) replace mtrav=2 if loc==8 replace mtrav=3 if loc==5 | prime==53 replace mtrav=4 if loc==6 replace mtrav=5 if loc==0 | ((prime==8 | prime==23 | prime==28 | prime==34 | prime==42 /// | prime==45 | prime==48 | prime==52 | prime==58 | prime==64 | prime==80 | prime==90 | prime==92) & loc==-7) * ALONE * generate alone=-9 replace alone=0 if prime==25 | prime==26 | prime==31 | prime==55 | /// (prime>=71 & prime<=75) | prime==79 | prime==84 * CHILD * generate child=-9 replace child=1 if (prime>=24 & prime<=27) | prime==31 | prime==71 * SPPART * generate sppart=-9 * OAD * generate oad=-9 replace oad=1 if prime==20 | prime==21 | prime==55 | (prime>=72 & prime<=75) | prime==79 | prime==84 save "N:\FIN1979W6temp.dta", replace ******************************************************************************************************************* ******************************************************************************************************************* ****************************************** WE NOW SAVE THE W6 DATASETS ******************************************* ******************************************************************************************************************* ******************************************************************************************************************* * W6 * use "N:\FIN1979W6temp.dta", clear keep countrya survey swave msamp hldid persid id day cday month year diary badcase sex age time /// clockst start end epnum main sec av inout eloc ict mtrav alone child sppart oad order countrya survey swave msamp hldid persid id day cday month year diary badcase sex age time /// clockst start end epnum main sec av inout eloc ict mtrav alone child sppart oad sort swave msamp hldid persid id drop if age<18 & age!=-8 compress save "N:\FIN1979W6.dta", replace * W6KID * use "N:\FIN1979W6temp.dta", clear keep countrya survey swave msamp hldid persid id day cday month year diary badcase sex age time /// clockst start end epnum main sec av inout eloc ict mtrav alone child sppart oad order countrya survey swave msamp hldid persid id day cday month year diary badcase sex age time /// clockst start end epnum main sec av inout eloc ict mtrav alone child sppart oad sort swave msamp hldid persid id drop if age>=18 | age==-8 compress save "N:\FIN1979W6kid.dta", replace *delete temporary files erase "N:\FIN1979W5temp.dta" erase "N:\FIN1979W6temp.dta"