|  | 
 | 
  
    |  | *********************************************************************
 | 
  
    |  | ************  PROBLEMS WITH PARTNER'S INFORMATION (1) ***************
 | 
  
    |  | *********************************************************************
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | /* Do-file está destinado a seleccionar variables y fusionar ficheros en uno sólo */
 | 
  
    |  | 
 | 
  
    |  | * Path del lugar a donde van a ir a parar los ficheros con las variables y datos seleccionados
 | 
  
    |  | 
 | 
  
    |  | cd "G:\Mi unidad\Word\Investigación\Proyectos en curso\Ministerio Ccia Innovac (2020)\Datos Understanding Society\Datos net"
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | * Next, a global macro containing file path to data directory
 | 
  
    |  | 
 | 
  
    |  | global inpath_ukhls "G:\Mi unidad\Word\Datos\Understanding Society\US Waves 1_14 (2009_22) BHPS Waves 1_18 (1991_2009)\stata\stata13_se\ukhls"
 | 
  
    |  | global inpath_bhps "G:\Mi unidad\Word\Datos\Understanding Society\US Waves 1_14 (2009_22) BHPS Waves 1_18 (1991_2009)\stata\stata13_se\bhps"
 | 
  
    |  | 
 | 
  
    |  | global inpath_net "G:\Mi unidad\Word\Investigación\Proyectos en curso\Ministerio Ccia Innovac (2020)\Datos Understanding Society\Datos net"
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | * EXTRACCIÓN DE VARIABLES INDIVIDUALES y FUSIÓN DE FICHEROS
 | 
  
    |  | 
 | 
  
    |  | foreach w in a b c d e f g h i j k l m n {
 | 
  
    |  | 	use using "$inpath_ukhls/`w'_indresp", clear
 | 
  
    |  | 	isvar pidp `w'_ppid `w'_hidp `w'_sex_dv `w'_age_dv `w'_doby_dv `w'_agegr10_dv `w'_agegr13_dv  `w'_racel_dv `w'_region ///
 | 
  
    |  | 		`w'_scend_dv `w'_ftendy4 `w'_nhiqual_dv `w'_qfhigh_dv `w'_hiqual_dv `w'_fenow `w'_fetype `w'_isced11_dv /// 
 | 
  
    |  | 		`w'_scopfamb `w'_scopfamf `w'_marstat_dv   ///
 | 
  
    |  | 		`w'_pno `w'_ppno `w'_gor_dv 
 | 
  
    |  | 	keep `r(varlist)'  
 | 
  
    |  | 	
 | 
  
    |  | 	// for appending the wave specific files into long format we need to 
 | 
  
    |  | 	
 | 
  
    |  | 	// (ii) create a wave variable
 | 
  
    |  | 	gen wave = strpos("abcdefghijklmn","`w'")
 | 
  
    |  | 
 | 
  
    |  | 	// (iii) drop the wave prefix from all variables that had one 
 | 
  
    |  | 	rename `w'_* *
 | 
  
    |  | 
 | 
  
    |  | 	// recode values from -1 to -9 to Stata system missing for all variables
 | 
  
    |  | 	mvdecode _all, mv(-21, -20, -11/-1) 
 | 
  
    |  | 
 | 
  
    |  | 	// save each wave specific file
 | 
  
    |  | 	save `w'pjunk.dta, replace
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | // Open the file for wave a and then add the rest of the wave specific files
 | 
  
    |  | use apjunk, clear
 | 
  
    |  | foreach w in b c d e f g h i j k l m n {
 | 
  
    |  | 	append using `w'pjunk.dta
 | 
  
    |  | 	}
 | 
  
    |  | sort pidp wave
 | 
  
    |  | 
 | 
  
    |  | save Individual_data2, replace
 | 
  
    |  | 
 | 
  
    |  | // get rid of unwanted temporary files
 | 
  
    |  | foreach w in a b c d e f g h i j k l m n {
 | 
  
    |  | 	erase `w'pjunk.dta
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | * EXTRACCIÓN DE VARIABLES DE HOGAR Y FUSIÓN DE FICHEROS
 | 
  
    |  | 
 | 
  
    |  | foreach w in a b c d e f g h i j k l m n {
 | 
  
    |  | 	use using "$inpath_ukhls/`w'_hhresp", clear
 | 
  
    |  | 		isvar `w'_hidp `w'_hhsize ///
 | 
  
    |  | 		`w'_nkids_dv `w'nch02_dv `w'_nch34_dv `w'_agechy_dv 
 | 
  
    |  | 	keep `r(varlist)' 
 | 
  
    |  | 	
 | 
  
    |  | 	// for appending the wave specific files into long format we need to 
 | 
  
    |  | 	
 | 
  
    |  | 	// (ii) create a wave variable	
 | 
  
    |  | 	gen wave = strpos("abcdefghijklmn","`w'")
 | 
  
    |  | 
 | 
  
    |  | 	// (iii) drop the wave prefix from all variables that had one 
 | 
  
    |  | 	rename `w'_* *
 | 
  
    |  | 
 | 
  
    |  | 	// recode values from -1 to -9 to Stata system missing for all variables
 | 
  
    |  | 	mvdecode _all, mv(-21, -20, -11/-1) 
 | 
  
    |  | 
 | 
  
    |  | 	// save each wave specific file
 | 
  
    |  | 	save `w'pjunk.dta, replace
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | // Open the file for wave a and then add the rest of the wave specific files
 | 
  
    |  | use apjunk, clear
 | 
  
    |  | foreach w in b c d e f g h i j k l m n {
 | 
  
    |  | 	append using `w'pjunk.dta
 | 
  
    |  | 	}
 | 
  
    |  | sort hidp wave
 | 
  
    |  | 
 | 
  
    |  | save Household_data2, replace
 | 
  
    |  | 
 | 
  
    |  | // get rid of unwanted temporary files
 | 
  
    |  | foreach w in a b c d e f g h i j k l m n {
 | 
  
    |  | 	erase `w'pjunk.dta
 | 
  
    |  | }
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | * FUSIÓN DE FICHEROS DE DATOS INDIVIDUALES Y DE HOGAR
 | 
  
    |  | 
 | 
  
    |  | merge 1:m hidp using Individual_data2
 | 
  
    |  | 
 | 
  
    |  | 	* Para ver la posible razón por la que el merge no sale perfecto, ver lo siguiente:
 | 
  
    |  | 	* https://iserredex.essex.ac.uk/support/issues/1642?tab=history
 | 
  
    |  | 
 | 
  
    |  | tab _merge
 | 
  
    |  | 
 | 
  
    |  | 	* A continuación podemos ver que, como se responde a la pregunta en el foro, a partir
 | 
  
    |  | 	* de la ola 5 empieza a ver casos raros
 | 
  
    |  | 	
 | 
  
    |  | 	* For retrieving household information of individuals WHO DID NOT COMPLETE the household file, 
 | 
  
    |  | 	* I was recommended using the 'indall' file
 | 
  
    |  | 
 | 
  
    |  | tab _merge wave
 | 
  
    |  | 
 | 
  
    |  | keep if _merge==2 | _merge==3
 | 
  
    |  | 
 | 
  
    |  | drop _merge
 | 
  
    |  | 
 | 
  
    |  | save Prueba_partner, replace
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | 
 |