Hello all,
I am using Stata 17. I have Individual datasets which have 12 waves in total (a b c d e f j h i j k l_indresp)
I would like to append and merge individual data files on one file for 4 waves together (i j k l ). Combine multiple datasets (i_indresp, j_indresp, ..., k_indresp) into one dataset with a new variable wave indicating the original dataset. The document came with data suggesting the coding pack matches individual-level files across waves as flowing :
Code:
local waves "a b c d e f g h i j k l" local i = 1 foreach wave of local waves { use "`datadir'/`wave'_indresp", clear ren `wave'_hidp hidp local outcomes "varable list" foreach var of local outcomes { replace `var' = . if `var'<0 } gen str1 wave ="`wave'" cap keep pidp wave hidp dvage jbstat jbflex7 jbfxuse7 save data/`wave'_ind, replace local i = `i'+1 } use data/a_ind, clear cap drop a_* append using data/b_ind keep pidp wave hidp dvage jbstat append using data/c_ind keep pidp wave hidp dvage jbstat append using data/d_ind keep pidp wave hidp dvage jbstat append using data/e_ind keep pidp wave hidp dvage jbstat merge m:1 pidp using "`datadir'/xwavedat" keep if _merge==3 drop _merge
I find it difficult to replicate this code in the correct way ( I know this is the basic thing, but I'm now a user of Stata)
This is my replication of the code :
Code:
local waves "a b c d e f g h i j k l" local i = 1 foreach waves of local waves { use "C:\Users\021200\Second chapter \Data\Orginal data\UKDA-6614-stata\stata\stata13_se\ukhls\i_indresp.dta", clear rename i_hidp hidp rename i_ppid ppid rename i_dvage dvage rename i_jbsoc10_cc jbsoc10_cc rename i_jbsat jbsat cap rename i_jbflex7 jbflex7 cap rename i_jbfxuse7 jbfxuse7 local outcomes " sclfsato sclfsat1 sclfsat2" foreach var of local outcomes { replace sclfsato = . if sclfsato <0 } gen str1 wave = "i" cap keep pidp wave pid dvage jbstat jbflex7 jbfxuse7 save data i_ind, replace local i = 1 +1 }
The variable "pidp" is unique and can link the data by this variable
some variables are not available in all waves, e.g., (jbfxuse7). This way, I used
Code:
cap rename i_jbfxuse7 jbfxuse7
This is the sample of two waves ( i_indresp and j_ indresp) :
Code:
* Example generated by -dataex-. For more info, type help dataex clear input long(pidp pid) int(i_dvage i_jbsoc10_cc) byte(i_jbsat i_sclfsato i_sclfsat1 i_sclfsat2) 68004087 -8 67 -9 3 6 6 6 68006127 -8 47 -8 -8 3 2 3 68020564 -8 46 -8 -8 2 1 1 68006807 -8 80 -8 -8 2 1 2 68008847 -8 59 -8 -8 5 3 5 68009527 -8 39 312 5 5 4 7 68061288 -8 31 413 5 5 3 2 68010887 -8 53 614 6 6 6 5 68068082 -8 56 -9 7 6 7 5 68011567 -8 43 125 6 6 6 6 68020407 -8 80 -8 -8 5 3 5 68028567 -8 46 711 5 4 4 6 68028571 -8 50 614 4 6 6 6 68028575 -8 26 -8 -8 7 6 5 68157166 -8 32 353 3 5 5 5 68029927 -8 45 -8 -8 4 3 2 68029931 -8 48 356 5 6 6 6 68031967 -8 69 -8 -8 6 6 4 68035367 -8 36 242 6 6 5 7 68142890 -8 37 356 5 7 5 6 68036727 -8 85 -8 -8 6 5 2 68037407 -8 48 -8 -8 3 6 2 68041487 -8 47 354 6 6 6 5 68041491 -8 44 354 6 7 5 4 68042167 -8 47 -9 3 5 6 5 68042171 -8 46 231 5 5 5 4 68043527 -8 63 -8 -8 4 4 4 68044207 -8 42 -9 3 5 6 4 68044211 -8 44 -9 6 6 5 4 68044887 -8 70 -8 -8 6 6 6 68045567 -8 55 118 7 6 6 6 68045571 -8 57 -8 -8 6 3 5 68046927 -8 44 612 5 4 5 3 68046935 -8 17 -8 -8 7 7 7 68048287 -8 70 -8 -8 2 3 2 68049647 -8 59 231 6 6 6 6 68049651 -8 57 411 4 6 6 6 68051007 -8 56 243 3 3 3 4 68051011 -8 49 223 4 6 5 6 68056447 -8 54 -9 5 2 1 1 68056451 -8 52 -8 -8 4 5 2 68056459 -8 17 -8 -8 7 6 6 68056455 -8 22 341 5 3 3 1 68058487 -8 77 -8 -8 6 3 6 68058491 -8 68 -8 -8 6 6 6 68059171 -8 27 344 5 6 6 3 68293168 -8 28 -8 -8 4 2 2 68060527 -8 43 356 6 5 5 5 68060531 -8 44 -9 5 6 6 5 68063247 -8 50 -9 7 7 7 7 68063251 -8 52 822 6 7 7 7 68063255 -8 17 -8 -8 7 7 6 68063927 -8 47 -8 -8 6 7 6 68063931 -8 49 -9 6 5 3 5 68068007 -8 50 913 4 6 5 6 68068011 -8 50 -9 3 6 6 6 68068015 -8 25 354 6 6 7 6 68069367 -8 89 -8 -8 6 5 6 68071407 -8 28 544 3 3 4 5 68340094 -8 24 614 4 4 4 4 68340136 -8 52 412 4 6 6 6 68072087 -8 63 -8 -8 4 1 4 68360492 -8 58 323 -7 -7 -7 -7 68076167 -8 68 -8 -8 4 3 4 68076171 -8 71 -8 -8 4 4 4 68086371 -8 28 -8 -8 4 4 4 68087727 -8 67 -8 -8 6 6 6 68090447 -8 64 -8 -8 6 3 6 68091127 -8 43 -8 -8 4 1 1 68091139 -8 18 -8 -8 1 2 4 68537402 -8 48 -8 -8 1 1 1 68091135 -8 20 -8 -8 2 3 4 68401296 -8 20 912 -7 -7 -7 -7 68097927 -8 68 411 2 3 2 2 68102687 -8 67 -8 -8 6 5 5 68102691 -8 63 -8 -8 1 1 1 68102695 -8 22 612 7 7 7 7 68102699 -8 18 -8 -8 6 6 4 68105407 -8 50 -9 6 6 7 7 68105411 -8 39 912 6 6 6 4 68111527 -8 37 118 6 6 6 6 68111531 -8 36 118 6 6 6 5 68112207 -8 33 213 4 5 2 6 68112211 -8 31 125 6 7 5 6 68116287 -8 34 543 6 5 6 6 68116291 -8 38 821 -7 -7 -7 -7 68116295 -8 16 -8 -7 -7 -7 -7 68120367 -8 66 -8 -8 7 4 6 68120375 -8 37 421 6 5 3 3 68120371 -8 66 125 7 3 3 6 68121047 -8 45 -9 4 6 6 6 68121051 -8 44 533 -7 -7 -7 -7 68121055 -8 21 612 5 7 6 7 68121059 -8 17 -8 -8 7 7 7 68121727 -8 64 -9 7 2 2 2 68125127 -8 51 -9 5 5 6 3 68125131 -8 26 323 6 6 6 5 68125135 -8 21 231 6 6 6 5 68129887 -8 74 -8 -8 6 6 6 68131927 -8 62 -9 7 5 5 5 end label values pid pid label def pid -8 "inapplicable", modify label values i_dvage i_dvage label values i_jbsoc10_cc i_jbsoc10_cc label def i_jbsoc10_cc -9 "missing", modify label def i_jbsoc10_cc -8 "inapplicable", modify label def i_jbsoc10_cc 118 "Health and Social Services Managers and Directors", modify label def i_jbsoc10_cc 125 "Managers and Proprietors in Other Services", modify label def i_jbsoc10_cc 213 "Information Technology and Telecommunications Professionals", modify label def i_jbsoc10_cc 223 "Nursing and Midwifery Professionals", modify label def i_jbsoc10_cc 231 "Teaching and Educational Professionals", modify label def i_jbsoc10_cc 242 "Business, Research and Administrative Professionals", modify label def i_jbsoc10_cc 243 "Architects, Town Planners and Surveyors", modify label def i_jbsoc10_cc 312 "Draughtspersons and Related Architectural Technicians", modify label def i_jbsoc10_cc 323 "Welfare and Housing Associate Professionals", modify label def i_jbsoc10_cc 341 "Artistic, Literary and Media Occupations", modify label def i_jbsoc10_cc 344 "Sports and Fitness Occupations", modify label def i_jbsoc10_cc 353 "Business, Finance and Related Associate Professionals", modify label def i_jbsoc10_cc 354 "Sales, Marketing and Related Associate Professionals", modify label def i_jbsoc10_cc 356 "Public Services and Other Associate Professionals", modify label def i_jbsoc10_cc 411 "Administrative Occupations: Government and Related Organisations", modify label def i_jbsoc10_cc 412 "Administrative Occupations: Finance", modify label def i_jbsoc10_cc 413 "Administrative Occupations: Records", modify label def i_jbsoc10_cc 421 "Secretarial and Related Occupations", modify label def i_jbsoc10_cc 533 "Construction and Building Trades Supervisors", modify label def i_jbsoc10_cc 543 "Food Preparation and Hospitality Trades", modify label def i_jbsoc10_cc 544 "Other Skilled Trades", modify label def i_jbsoc10_cc 612 "Childcare and Related Personal Services", modify label def i_jbsoc10_cc 614 "Caring Personal Services", modify label def i_jbsoc10_cc 711 "Sales Assistants and Retail Cashiers", modify label def i_jbsoc10_cc 821 "Road Transport Drivers", modify label def i_jbsoc10_cc 822 "Mobile Machine Drivers and Operatives", modify label def i_jbsoc10_cc 912 "Elementary Construction Occupations", modify label def i_jbsoc10_cc 913 "Elementary Process Plant Occupations", modify label values i_jbsat i_jbsat label def i_jbsat -8 "inapplicable", modify label def i_jbsat -7 "proxy", modify label def i_jbsat 2 "mostly dissatisfied", modify label def i_jbsat 3 "somewhat dissatisfied", modify label def i_jbsat 4 "neither satisfied or dissatisfied", modify label def i_jbsat 5 "somewhat satisfied", modify label def i_jbsat 6 "mostly satisfied", modify label def i_jbsat 7 "completely satisfied", modify label values i_sclfsato i_sclfsato label def i_sclfsato -7 "proxy", modify label def i_sclfsato 1 "Completely dissatisfied", modify label def i_sclfsato 2 "Mostly dissatisfied", modify label def i_sclfsato 3 "Somewhat dissatisfied", modify label def i_sclfsato 4 "Neither Sat nor Dissat", modify label def i_sclfsato 5 "Somewhat satisfied", modify label def i_sclfsato 6 "Mostly satisfied", modify label def i_sclfsato 7 "Completely satisfied", modify label values i_sclfsat1 i_sclfsat1 label def i_sclfsat1 -7 "proxy", modify label def i_sclfsat1 1 "Completely dissatisfied", modify label def i_sclfsat1 2 "Mostly dissatisfied", modify label def i_sclfsat1 3 "Somewhat dissatisfied", modify label def i_sclfsat1 4 "Neither Sat nor Dissat", modify label def i_sclfsat1 5 "Somewhat satisfied", modify label def i_sclfsat1 6 "Mostly satisfied", modify label def i_sclfsat1 7 "Completely satisfied", modify label values i_sclfsat2 i_sclfsat2 label def i_sclfsat2 -7 "proxy", modify label def i_sclfsat2 1 "Completely dissatisfied", modify label def i_sclfsat2 2 "Mostly dissatisfied", modify label def i_sclfsat2 3 "Somewhat dissatisfied", modify label def i_sclfsat2 4 "Neither Sat nor Dissat", modify label def i_sclfsat2 5 "Somewhat satisfied", modify label def i_sclfsat2 6 "Mostly satisfied", modify label def i_sclfsat2 7 "Completely satisfied", modify
Code:
* Example generated by -dataex-. For more info, type help dataex clear input long(pidp pid) int(j_dvage j_jbsoc10_cc) byte(j_jbsat j_sclfsato j_sclfsat1 j_sclfsat2 j_jbflex7 j_jbfxuse7) 22445 10127798 33 242 6 5 5 5 1 1 29925 10192697 41 415 7 6 5 3 0 0 76165 10689869 35 313 5 6 6 6 0 0 280165 12430439 39 215 5 5 6 5 1 1 333205 12908843 28 331 6 7 6 5 0 0 469205 13857142 28 623 7 5 3 2 0 0 599765 14757249 31 354 6 7 2 2 0 0 665045 15270041 36 543 4 5 2 3 0 0 732365 15752658 33 -8 -8 2 2 5 -8 -8 760925 16095227 37 -8 -8 -8 -8 -8 -8 -8 1587125 17870879 52 244 3 4 5 5 -8 -8 1697285 42526507 45 412 5 3 3 3 0 -8 2626845 93565895 40 923 -7 -7 -7 -7 -7 -7 2888645 96949503 29 721 6 1 1 1 0 -8 3229325 106197851 49 -8 -8 -8 -8 -8 -8 -8 3424485 113800185 82 -8 -7 -7 -7 -7 -7 -7 3667245 119074613 30 413 7 -8 -8 -8 0 -8 3705325 119277506 64 -8 -8 5 6 6 -8 -8 4454005 154358304 73 -8 -8 6 4 6 -8 -8 4849085 176725733 35 113 1 2 2 6 1 0 4853165 176977635 48 511 6 2 5 2 0 0 68002725 10023526 64 -8 -8 4 5 1 -8 -8 68004087 -8 68 -8 -8 6 6 6 -8 -8 68006127 -8 48 -8 -8 1 3 2 -8 -8 68008847 -8 60 415 7 6 6 6 0 0 68009527 -8 40 312 4 4 5 6 0 -8 68010887 -8 54 614 6 6 6 6 0 -8 68011567 -8 44 125 6 6 6 6 1 1 68014287 -8 49 -8 -8 2 2 2 -8 -8 68014291 -8 25 231 6 6 3 6 0 0 68014295 -8 18 -8 -8 3 6 2 -8 -8 68020407 -8 81 -8 -8 5 2 6 -8 -8 68020564 -8 47 -8 -8 1 1 1 -8 -8 68021765 10200436 59 -9 7 7 3 6 0 0 68021781 30139368 24 415 6 -9 -9 -9 0 0 68028575 -8 27 -8 -8 7 6 5 -8 -8 68029927 -8 46 -8 -8 5 5 3 -8 -8 68029931 -8 49 356 7 6 6 6 0 0 68031967 -8 70 -8 -8 3 3 6 -8 -8 68035365 10403086 66 -8 -8 5 5 2 -8 -8 68035367 -8 37 242 6 7 6 6 0 0 68036727 -8 86 -8 -8 6 4 6 -8 -8 68037407 -8 49 913 6 3 6 4 -2 -8 68037411 -8 19 612 5 6 6 4 0 0 68041487 -8 48 354 6 6 6 3 0 -8 68041491 -8 44 354 6 6 6 5 0 -8 68041495 -8 17 -8 -8 7 7 7 -8 -8 68042167 -8 48 -9 3 6 6 6 0 0 68042171 -8 47 231 6 5 3 4 0 0 68043527 -8 64 -8 -8 5 6 5 -8 -8 68044207 -8 42 -9 4 5 3 3 0 0 68044211 -8 45 -9 6 5 5 5 -8 -8 68044887 -8 71 -8 -8 6 6 6 -8 -8 68045567 -8 56 242 6 6 6 6 0 0 68045571 -8 58 -8 -8 6 5 5 -8 -8 68046247 -8 75 -8 -8 6 7 6 -8 -8 68046251 -8 73 -8 -8 6 6 7 -8 -8 68046927 -8 45 612 6 5 5 5 0 0 68046935 -8 18 927 4 6 6 6 0 0 68049647 -8 60 231 6 6 4 6 0 -8 68049651 -8 58 411 4 6 6 6 0 0 68051007 -8 57 243 2 3 2 3 0 -8 68051011 -8 50 223 6 6 6 6 0 -8 68056447 -8 55 -9 4 3 1 1 0 0 68056451 -8 53 -8 -8 1 1 1 -8 -8 68056455 -8 23 711 1 1 3 1 0 -8 68056459 -8 18 -8 -8 7 7 7 -8 -8 68058485 10628126 73 -8 -8 4 4 7 -8 -8 68058487 -8 78 -8 -8 6 3 6 -8 -8 68058489 10628169 73 -8 -8 6 6 6 -8 -8 68058491 -8 69 -8 -8 6 6 6 -8 -8 68059171 -8 28 344 4 4 6 1 -8 -8 68060525 10641556 91 -8 -8 4 3 4 -8 -8 68060527 -8 44 356 6 6 6 6 1 1 68060531 -8 45 -9 5 6 6 5 1 0 68060533 160066204 62 614 5 5 5 7 0 0 68060537 160066239 74 -8 -8 6 7 7 -8 -8 68061288 -8 32 413 5 5 5 3 1 0 68063247 -8 51 -8 -8 7 6 5 -8 -8 68063251 -8 53 822 7 7 7 7 0 0 68063255 -8 18 -8 -8 7 7 5 -8 -8 68063927 -8 48 223 6 6 7 7 0 0 68063931 -8 50 -9 4 4 6 5 0 0 68064605 10653872 69 -8 -8 7 5 6 -8 -8 68064609 10653902 66 -8 -8 1 1 1 -8 -8 68068007 -8 51 -8 -8 6 6 6 -8 -8 68068011 -8 51 -9 3 6 6 6 0 0 68068015 -8 26 -8 -8 6 6 6 -8 -8 68068019 -8 21 -9 7 7 7 7 -1 -8 68069367 -8 90 -8 -8 6 7 7 -8 -8 68071407 -8 29 544 2 2 3 3 0 0 68072087 -8 64 -8 -8 2 1 5 -8 -8 68076167 -8 69 -8 -8 4 3 4 -8 -8 68076171 -8 72 -8 -8 4 6 4 -8 -8 68086371 -8 29 -8 -8 5 2 6 -8 -8 68087727 -8 68 -8 -8 5 6 6 -8 -8 68090447 -8 65 -8 -8 4 7 1 -8 -8 68091127 -8 44 -8 -8 4 2 2 -8 -8 68091135 -8 21 -8 -8 3 4 7 -8 -8 68091139 -8 19 -8 -7 -7 -7 -7 -7 -7 end label values pid pid label def pid -8 "inapplicable", modify label values j_dvage j_dvage label values j_jbsoc10_cc j_jbsoc10_cc label def j_jbsoc10_cc -9 "missing", modify label def j_jbsoc10_cc -8 "inapplicable", modify label def j_jbsoc10_cc 113 "Functional Managers and Directors", modify label def j_jbsoc10_cc 125 "Managers and Proprietors in Other Services", modify label def j_jbsoc10_cc 215 "Research and Development Managers", modify label def j_jbsoc10_cc 223 "Nursing and Midwifery Professionals", modify label def j_jbsoc10_cc 231 "Teaching and Educational Professionals", modify label def j_jbsoc10_cc 242 "Business, Research and Administrative Professionals", modify label def j_jbsoc10_cc 243 "Architects, Town Planners and Surveyors", modify label def j_jbsoc10_cc 244 "Welfare Professionals", modify label def j_jbsoc10_cc 312 "Draughtspersons and Related Architectural Technicians", modify label def j_jbsoc10_cc 313 "Information Technology Technicians", modify label def j_jbsoc10_cc 331 "Protective Service Occupations", modify label def j_jbsoc10_cc 344 "Sports and Fitness Occupations", modify label def j_jbsoc10_cc 354 "Sales, Marketing and Related Associate Professionals", modify label def j_jbsoc10_cc 356 "Public Services and Other Associate Professionals", modify label def j_jbsoc10_cc 411 "Administrative Occupations: Government and Related Organisations", modify label def j_jbsoc10_cc 412 "Administrative Occupations: Finance", modify label def j_jbsoc10_cc 413 "Administrative Occupations: Records", modify label def j_jbsoc10_cc 415 "Other Administrative Occupations", modify label def j_jbsoc10_cc 511 "Agricultural and Related Trades", modify label def j_jbsoc10_cc 543 "Food Preparation and Hospitality Trades", modify label def j_jbsoc10_cc 544 "Other Skilled Trades", modify label def j_jbsoc10_cc 612 "Childcare and Related Personal Services", modify label def j_jbsoc10_cc 614 "Caring Personal Services", modify label def j_jbsoc10_cc 623 "Housekeeping and Related Services", modify label def j_jbsoc10_cc 711 "Sales Assistants and Retail Cashiers", modify label def j_jbsoc10_cc 721 "Customer Service Occupations", modify label def j_jbsoc10_cc 822 "Mobile Machine Drivers and Operatives", modify label def j_jbsoc10_cc 913 "Elementary Process Plant Occupations", modify label def j_jbsoc10_cc 923 "Elementary Cleaning Occupations", modify label def j_jbsoc10_cc 927 "Other Elementary Services Occupations", modify label values j_jbsat j_jbsat label def j_jbsat -8 "inapplicable", modify label def j_jbsat -7 "proxy", modify label def j_jbsat 1 "completely dissatisfied", modify label def j_jbsat 2 "mostly dissatisfied", modify label def j_jbsat 3 "somewhat dissatisfied", modify label def j_jbsat 4 "neither satisfied or dissatisfied", modify label def j_jbsat 5 "somewhat satisfied", modify label def j_jbsat 6 "mostly satisfied", modify label def j_jbsat 7 "completely satisfied", modify label values j_sclfsato j_sclfsato label def j_sclfsato -9 "missing", modify label def j_sclfsato -8 "inapplicable", modify label def j_sclfsato -7 "proxy", modify label def j_sclfsato 1 "Completely dissatisfied", modify label def j_sclfsato 2 "Mostly dissatisfied", modify label def j_sclfsato 3 "Somewhat dissatisfied", modify label def j_sclfsato 4 "Neither Sat nor Dissat", modify label def j_sclfsato 5 "Somewhat satisfied", modify label def j_sclfsato 6 "Mostly satisfied", modify label def j_sclfsato 7 "Completely satisfied", modify label values j_sclfsat1 j_sclfsat1 label def j_sclfsat1 -9 "missing", modify label def j_sclfsat1 -8 "inapplicable", modify label def j_sclfsat1 -7 "proxy", modify label def j_sclfsat1 1 "Completely dissatisfied", modify label def j_sclfsat1 2 "Mostly dissatisfied", modify label def j_sclfsat1 3 "Somewhat dissatisfied", modify label def j_sclfsat1 4 "Neither Sat nor Dissat", modify label def j_sclfsat1 5 "Somewhat satisfied", modify label def j_sclfsat1 6 "Mostly satisfied", modify label def j_sclfsat1 7 "Completely satisfied", modify label values j_sclfsat2 j_sclfsat2 label def j_sclfsat2 -9 "missing", modify label def j_sclfsat2 -8 "inapplicable", modify label def j_sclfsat2 -7 "proxy", modify label def j_sclfsat2 1 "Completely dissatisfied", modify label def j_sclfsat2 2 "Mostly dissatisfied", modify label def j_sclfsat2 3 "Somewhat dissatisfied", modify label def j_sclfsat2 4 "Neither Sat nor Dissat", modify label def j_sclfsat2 5 "Somewhat satisfied", modify label def j_sclfsat2 6 "Mostly satisfied", modify label def j_sclfsat2 7 "Completely satisfied", modify label values j_jbflex7 j_jbflex7 label def j_jbflex7 -8 "inapplicable", modify label def j_jbflex7 -7 "proxy", modify label def j_jbflex7 -2 "refusal", modify label def j_jbflex7 -1 "don't know", modify label def j_jbflex7 0 "Not mentioned", modify label def j_jbflex7 1 "Yes mentioned", modify label values j_jbfxuse7 j_jbfxuse7 label def j_jbfxuse7 -8 "inapplicable", modify label def j_jbfxuse7 -7 "proxy", modify label def j_jbfxuse7 0 "Not mentioned", modify label def j_jbfxuse7 1 "Yes mentioned", modify
Comment