*****Sampling
use data/temp/gigelData,clear
ren individual_uuid IndividualId
ren subsubviladge HoueholdId
ren viladge VillageName
ren lastname fathername
ren subviladge VillageCode
gen site="South west Ethiopia"
ren district subdistrict
gen district="Omonada" if inlist(subdistrict,"Assendabo","Burka")
replace district="iro Afeta" if inlist(subdistrict,"Dimtu")
replace district="Kersa" if inlist(subdistrict,"Degosso","Siba")
replace district="Sekoru" if inlist(subdistrict,"Enkure")
drop age country rigion
ren dob DoB
**generating age
gen dobb=date(DoB,"YMD")
gen agdx=round((td(15may2023)-dobb)/365.25,0.01)
ren agdx Age
drop dobb
**Age_group
* create age groups
recode Age (0/0.99=1 "<1 year") (1/2.99=2 "1-2")(3/4.99=3 "3-4") (5/9.99=4 "5-9") (10/14.99=5 "10-14") (15/19.99=6 "15-19") ///
(20/39.99=7 "20-39") (40/49.99=8 "40-49")(50/59.99=9 "50-59") (60/max=10 "60+"),gen(Agegroup)
gen Agert=string(Age, "%4.2f")
drop Age
ren Agert age
**generating string age-group
gen agr="<1 year" if Agegroup==1
replace agr="1-2" if Agegroup==2
replace agr="3-4" if Agegroup==3
replace agr="5-9" if Agegroup==4
replace agr="10-14" if Agegroup==5
replace agr="15-19" if Agegroup==6
replace agr="20-39" if Agegroup==7
replace agr="40-49" if Agegroup==8
replace agr="50-59" if Agegroup==9
replace agr="60+" if Agegroup==10
ren Agegroup Agegroup1
ren agr Agegroup
drop extid
save data/temp/GigelDataClnv1,replace
***keeping <1 data
use data/temp/GigelDataClnv1,clear
keep if Agegroup1==1
preserve
duplicates drop HoueholdId,force
keep HoueholdId
save data/temp/Under1AgegroupNODUPS,replace
restore
save data/temp/Under1Agegroup,replace
***All age-group excep under1
use data/temp/GigelDataClnv1,clear
merge m:1 HoueholdId using data/temp/Under1AgegroupNODUPS
drop if _merge==3
drop _merge
save data/temp/All_agegroup,replace
***SamplingFrame
use data/temp/All_agegroup,clear
set seed 397418
sample 1, count by(HoueholdId)
save data/raw/GIGELSPF,replace
use data/temp/Under1Agegroup,clear
set seed 397418
sample 1, count by(HoueholdId)
save data/raw/GIGELSPF1,replace
**sampling main
use data/raw/GIGELSPF,clear
forval i=2/10 {
preserve
cap keep if Agegroup1==`i'
if _rc==0{
set seed `i'
cap sample 50,count
cap drop Agegroup1
count
save "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_`i'",replace
}
else if _rc!=0{
di "not found"
}
restore
}
use data/raw/GIGELSPF1,clear
set seed 1
sample 50,count
drop Agegroup1
save "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_1",replace
save data/temp/sampledunder1Main,replace
use "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_2",clear
forval i=3/10 {
append using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_`i'"
}
save data/temp/sampledAllageGroupMain,replace
***Ajusting sampling frame by removing already sampled people
**<1
use data/raw/GIGELSPF1,clear
merge 1:1 IndividualId using data/temp/sampledunder1Main
keep if _merge==1
drop _merge
save data/raw/GIGELSPF1_b,replace
***all age-groups
use data/raw/GIGELSPF,clear
merge 1:1 IndividualId using data/temp/sampledAllageGroupMain
keep if _merge==1
drop _merge
save data/raw/GIGELSPF_b,replace
**use all the remaing sampling frame as backup
use data/raw/GIGELSPF1_b,clear
set seed 1
sample 100,count
drop Agegroup1
save data/temp/Backupunder1_1000,replace
**all age_group
use data/raw/GIGELSPF_b,clear
forval i=2/10 {
preserve
cap keep if Agegroup1==`i'
if _rc==0{
set seed `i'
cap sample 100,count
cap drop Agegroup1
count
save "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelBack_`i'",replace
}
else if _rc!=0{
di "not found"
}
restore
}
use "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelBack_2",clear
forval i=3/10 {
append using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelBack_`i'"
}
save data/temp/sampledAllageGroupBack_1000,replace
****Append all Backup1000
use data/temp/sampledAllageGroupBack_1000,clear
append using data/temp/Backupunder1_1000
gen differentiate="Backup"
gen family_id=IndividualId
ren IndividualId selected_id
gen bk="1000backup"
save data/temp/Backup1st_1000,replace
**<1 year
use data/raw/GIGELSPF1_b,clear
merge 1:1 IndividualId using data/temp/Backupunder1_1000
keep if _merge==1
drop _merge
save data/raw/GIGELSPF1_bx1,replace
**All age-group
use data/raw/GIGELSPF_b,clear
merge 1:1 IndividualId using data/temp/sampledAllageGroupBack_1000
keep if _merge==1
drop _merge
save data/raw/GIGELSPF1_b1,replace
use data/raw/GIGELSPF1_bx1,clear
append using data/raw/GIGELSPF1_b1
drop Agegroup1
gen differentiate="Backup"
gen family_id=IndividualId
ren IndividualId selected_id
gen bk="extrabackup"
save data/raw/Extra_BackupGigel,replace
**appending main datasets
use "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_1",clear
forval i=2/10 {
append using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_`i'"
}
gen differentiate="Main"
gen family_id=IndividualId
ren IndividualId selected_id
gen bk=""
export excel using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/MainGilge451.xlsx", sheetreplace firstrow(variables)
save data/temp/MainGilge,replace
***Append all sampled dataset
use data/temp/MainGilge,clear
append using data/raw/Extra_BackupGigel
append using data/temp/Backup1st_1000
preserve
keep HoueholdId family_id
save data/temp/All_SampledBackupMainGigel1,replace
restore
save data/temp/All_SampledBackupMainGigel,replace
dear team,
Above is my code.I am setting seed but getting different sample every time I run the code.Can someone help me spot a mistake in my code please.Below is my data:
regards,
Fred
use data/temp/gigelData,clear
ren individual_uuid IndividualId
ren subsubviladge HoueholdId
ren viladge VillageName
ren lastname fathername
ren subviladge VillageCode
gen site="South west Ethiopia"
ren district subdistrict
gen district="Omonada" if inlist(subdistrict,"Assendabo","Burka")
replace district="iro Afeta" if inlist(subdistrict,"Dimtu")
replace district="Kersa" if inlist(subdistrict,"Degosso","Siba")
replace district="Sekoru" if inlist(subdistrict,"Enkure")
drop age country rigion
ren dob DoB
**generating age
gen dobb=date(DoB,"YMD")
gen agdx=round((td(15may2023)-dobb)/365.25,0.01)
ren agdx Age
drop dobb
**Age_group
* create age groups
recode Age (0/0.99=1 "<1 year") (1/2.99=2 "1-2")(3/4.99=3 "3-4") (5/9.99=4 "5-9") (10/14.99=5 "10-14") (15/19.99=6 "15-19") ///
(20/39.99=7 "20-39") (40/49.99=8 "40-49")(50/59.99=9 "50-59") (60/max=10 "60+"),gen(Agegroup)
gen Agert=string(Age, "%4.2f")
drop Age
ren Agert age
**generating string age-group
gen agr="<1 year" if Agegroup==1
replace agr="1-2" if Agegroup==2
replace agr="3-4" if Agegroup==3
replace agr="5-9" if Agegroup==4
replace agr="10-14" if Agegroup==5
replace agr="15-19" if Agegroup==6
replace agr="20-39" if Agegroup==7
replace agr="40-49" if Agegroup==8
replace agr="50-59" if Agegroup==9
replace agr="60+" if Agegroup==10
ren Agegroup Agegroup1
ren agr Agegroup
drop extid
save data/temp/GigelDataClnv1,replace
***keeping <1 data
use data/temp/GigelDataClnv1,clear
keep if Agegroup1==1
preserve
duplicates drop HoueholdId,force
keep HoueholdId
save data/temp/Under1AgegroupNODUPS,replace
restore
save data/temp/Under1Agegroup,replace
***All age-group excep under1
use data/temp/GigelDataClnv1,clear
merge m:1 HoueholdId using data/temp/Under1AgegroupNODUPS
drop if _merge==3
drop _merge
save data/temp/All_agegroup,replace
***SamplingFrame
use data/temp/All_agegroup,clear
set seed 397418
sample 1, count by(HoueholdId)
save data/raw/GIGELSPF,replace
use data/temp/Under1Agegroup,clear
set seed 397418
sample 1, count by(HoueholdId)
save data/raw/GIGELSPF1,replace
**sampling main
use data/raw/GIGELSPF,clear
forval i=2/10 {
preserve
cap keep if Agegroup1==`i'
if _rc==0{
set seed `i'
cap sample 50,count
cap drop Agegroup1
count
save "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_`i'",replace
}
else if _rc!=0{
di "not found"
}
restore
}
use data/raw/GIGELSPF1,clear
set seed 1
sample 50,count
drop Agegroup1
save "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_1",replace
save data/temp/sampledunder1Main,replace
use "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_2",clear
forval i=3/10 {
append using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_`i'"
}
save data/temp/sampledAllageGroupMain,replace
***Ajusting sampling frame by removing already sampled people
**<1
use data/raw/GIGELSPF1,clear
merge 1:1 IndividualId using data/temp/sampledunder1Main
keep if _merge==1
drop _merge
save data/raw/GIGELSPF1_b,replace
***all age-groups
use data/raw/GIGELSPF,clear
merge 1:1 IndividualId using data/temp/sampledAllageGroupMain
keep if _merge==1
drop _merge
save data/raw/GIGELSPF_b,replace
**use all the remaing sampling frame as backup
use data/raw/GIGELSPF1_b,clear
set seed 1
sample 100,count
drop Agegroup1
save data/temp/Backupunder1_1000,replace
**all age_group
use data/raw/GIGELSPF_b,clear
forval i=2/10 {
preserve
cap keep if Agegroup1==`i'
if _rc==0{
set seed `i'
cap sample 100,count
cap drop Agegroup1
count
save "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelBack_`i'",replace
}
else if _rc!=0{
di "not found"
}
restore
}
use "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelBack_2",clear
forval i=3/10 {
append using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelBack_`i'"
}
save data/temp/sampledAllageGroupBack_1000,replace
****Append all Backup1000
use data/temp/sampledAllageGroupBack_1000,clear
append using data/temp/Backupunder1_1000
gen differentiate="Backup"
gen family_id=IndividualId
ren IndividualId selected_id
gen bk="1000backup"
save data/temp/Backup1st_1000,replace
**<1 year
use data/raw/GIGELSPF1_b,clear
merge 1:1 IndividualId using data/temp/Backupunder1_1000
keep if _merge==1
drop _merge
save data/raw/GIGELSPF1_bx1,replace
**All age-group
use data/raw/GIGELSPF_b,clear
merge 1:1 IndividualId using data/temp/sampledAllageGroupBack_1000
keep if _merge==1
drop _merge
save data/raw/GIGELSPF1_b1,replace
use data/raw/GIGELSPF1_bx1,clear
append using data/raw/GIGELSPF1_b1
drop Agegroup1
gen differentiate="Backup"
gen family_id=IndividualId
ren IndividualId selected_id
gen bk="extrabackup"
save data/raw/Extra_BackupGigel,replace
**appending main datasets
use "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_1",clear
forval i=2/10 {
append using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/Age_GilgelMain_`i'"
}
gen differentiate="Main"
gen family_id=IndividualId
ren IndividualId selected_id
gen bk=""
export excel using "/Users/fodiwuor/Library/CloudStorage/OneDrive-KemriWellcomeTrust/fodiwuor/studies/AASRF_projects/Data/raw/MainGilge451.xlsx", sheetreplace firstrow(variables)
save data/temp/MainGilge,replace
***Append all sampled dataset
use data/temp/MainGilge,clear
append using data/raw/Extra_BackupGigel
append using data/temp/Backup1st_1000
preserve
keep HoueholdId family_id
save data/temp/All_SampledBackupMainGigel1,replace
restore
save data/temp/All_SampledBackupMainGigel,replace
dear team,
Above is my code.I am setting seed but getting different sample every time I run the code.Can someone help me spot a mistake in my code please.Below is my data:
regards,
Fred
Comment