Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Setting seed but getting different sample every time

    *****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






  • #2
    Why do you want to draw a random 1, 50 or 100 individual(s) from the sample, even with set seed to remove the randomness?

    Comment

    Working...
    X