************************************************ ************************************************ * Author: Simon Kühne * Project: Submission to Survey Research Methods * Date: 9. December 2017 * Software Version: Stata MP 14.1 ************************************************ ************************************************ ****************** ****** MISC ****** ****************** set scheme s1mono clear clear matrix set maxvar 10000 set more off, permanently ***************************** ****** GLOBALS GLOBALS ****** ***************************** global syntax "/Users/SimonMac/DISS/DISS_Syntax/" global soep30long "/Users/SimonMac/Desktop/Data/SOEP_v30_long/" global soep31long "/Users/SimonMac/Desktop/Data/SOEP_v31_long/" global soep30 "/Users/SimonMac/Desktop/Data/SOEP_v30/stata/" global soep31 "/Users/SimonMac/Desktop/Data/SOEP_v31/stata/" global region30 "/Users/SimonMac/Desktop/Data/SOEP_v30_region/" global region31 "/Users/SimonMac/Desktop/Data/SOEP_v31_region/" global interviewer "/Users/SimonMac/Desktop/Data/Interviewerbefragung/v30/" global temp "/Users/SimonMac/Desktop/Data/temp/" global output "/Users/SimonMac/Desktop/Data/output/" global logs "/Users/SimonMac/Desktop/Data/logs/" global waves "a b c d e f g h i j k l m n o p q r s t u v w x y z ba bb bc bd be" global waves85 "b c d e f g h i j k l m n o p q r s t u v w x y z ba bb bc bd be" global waves09 "a b c d e f g h i j k l m n o p q r s t u v w x y z ba" global waves0014 "q r s t u v w x y z ba bb bc bd be" global waves8509 "b c d e f g h i j k l m n o p q r s t u v w x y z ba" global waves1014 "bb bc bd be" global soeplee "/Users/SimonMac/Desktop/Data/" global jahr0 "a b c d e f g h i j k l m n o p q r s t u v w x y z ba bb bc bd be" global jahr1 "1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014" global jahr2 "84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14" ** Reciprocety - Positive ** global posrecip_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12601 miss miss miss miss bap12401 miss miss miss miss" global posrecip_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12604 miss miss miss miss bap12404 miss miss miss miss" global posrecip_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12606 miss miss miss miss bap12406 miss miss miss miss" global posrecip " posrecip_a posrecip_b posrecip_c" ** Reciprocety - Negative ** global negrecip_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12602 miss miss miss miss bap12402 miss miss miss miss" global negrecip_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12603 miss miss miss miss bap12403 miss miss miss miss" global negrecip_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12605 miss miss miss miss bap12405 miss miss miss miss" global negrecip " negrecip_a negrecip_b negrecip_c" ** Tendency to Forgive ** global forgive_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss bap12407 miss miss miss miss" global forgive_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss bap12408 miss miss miss miss" global forgive_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss bap12409 miss miss miss miss" global forgive_d " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss bap12410 miss miss miss miss" global forgive " forgive_a forgive_b forgive_c forgive_d" ** Well-being ** global wohlbef_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss xp0601 yp0201 zp11701 bap12501 bbp15001 bcp0201 bdp0201 bep0301" global wohlbef_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss xp0602 yp0202 zp11702 bap12502 bbp15002 bcp0202 bdp0202 bep0302" global wohlbef_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss xp0603 yp0203 zp11703 bap12503 bbp15003 bcp0203 bdp0203 bep0303" global wohlbef_d " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss xp0604 yp0204 zp11704 bap12504 bbp15004 bcp0204 bdp0204 bep0304" global wohlbef " wohlbef_a wohlbef_b wohlbef_c wohlbef_d" ** vertr ** global vertr_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss tp0301 miss miss miss miss yp0301 miss miss miss miss bdp0301 miss" global vertr_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss tp0302 miss miss miss miss yp0302 miss miss miss miss bdp0302 miss" global vertr_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss tp0303 miss miss miss miss yp0303 miss miss miss miss bdp0303 miss" global vertr_d " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss tp04 miss miss miss miss yp04 miss miss miss miss bdp05 miss" global vertr_e " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss tp05 miss miss miss miss yp05 miss miss miss miss bdp05 miss" global vertr " vertr_a vertr_b vertr_c vertr_d vertr_e" ** Anomie ** global anomie_a " miss miss miss miss miss miss miss miss ip1001 jp0701 miss lp1101 mp1101 np0601 miss miss miss miss miss miss miss miss miss miss yp7901 miss miss miss miss bdp15201 miss" global anomie_b " miss miss miss miss miss miss miss miss ip1002 jp0702 miss lp1102 mp1102 np0602 miss miss miss miss miss miss miss miss miss miss yp7902 miss miss miss miss bdp15202 miss" global anomie_c " miss miss miss miss miss miss miss miss ip1003 jp0703 miss lp1103 mp1103 np0603 miss miss miss miss miss miss miss miss miss miss yp7903 miss miss miss miss bdp15203 miss" global anomie_d " miss miss miss miss miss miss miss miss ip1004 jp0704 miss lp1104 mp1104 np0604 miss miss miss miss miss miss miss miss miss miss yp7904 miss miss miss miss bdp15204 miss" global anomie " anomie_a anomie_b anomie_c anomie_d" ** Big five ** global offen_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12504 miss miss miss zp12004 miss miss miss bdp15104 miss" global offen_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12509 miss miss miss zp12009 miss miss miss bdp15109 miss" global offen_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12514 miss miss miss zp12014 miss miss miss bdp15114 miss" global offen " offen_a offen_b offen_c " global neurot_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12505 miss miss miss zp12005 miss miss miss bdp15105 miss" global neurot_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12510 miss miss miss zp12010 miss miss miss bdp15110 miss" global neurot_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12515 miss miss miss zp12015 miss miss miss bdp15115 miss" global neurot " neurot_a neurot_b neurot_c " global extra_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12502 miss miss miss zp12002 miss miss miss bdp15102 miss" global extra_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12508 miss miss miss zp12008 miss miss miss bdp15108 miss" global extra_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12512 miss miss miss zp12012 miss miss miss bdp15112 miss" global extra " extra_a extra_b extra_c " global vertraeg_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12503 miss miss miss zp12003 miss miss miss bdp15103 miss" global vertraeg_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12506 miss miss miss zp12006 miss miss miss bdp15106 miss" global vertraeg_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12513 miss miss miss zp12013 miss miss miss bdp15113 miss" global vertraeg " vertraeg_a vertraeg_b vertraeg_c " global gewissen_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12501 miss miss miss zp12001 miss miss miss bdp15101 miss" global gewissen_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12507 miss miss miss zp12007 miss miss miss bdp15107 miss" global gewissen_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12511 miss miss miss zp12011 miss miss miss bdp15111 miss" global gewissen " gewissen_a gewissen_b gewissen_c " ** Locus of control - Old ** global schicksal_a " miss miss miss miss miss miss miss miss miss miss kp7102 lp0802 mp1002 miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss" global schicksal_b " miss miss miss miss miss miss miss miss miss miss kp7104 lp0804 mp1004 miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss" global schicksal_c " miss miss miss miss miss miss miss miss miss miss kp7105 lp0805 mp1005 miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss" global schicksal_d " miss miss miss miss miss miss miss miss miss miss kp7107 lp0807 mp1007 miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss" global schicksal_e " miss miss miss miss miss miss miss miss miss miss kp7108 lp0808 mp1008 miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss" global schicksal " schicksal_a schicksal_b schicksal_c schicksal_d schicksal_e " ** Locus of control - Neu ** global locus_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12701 miss miss miss miss bap0201 miss miss miss miss" global locus_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12703 miss miss miss miss bap0203 miss miss miss miss" global locus_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12705 miss miss miss miss bap0205 miss miss miss miss" global locus_d " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12707 miss miss miss miss bap0207 miss miss miss miss" global locus_e " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12708 miss miss miss miss bap0208 miss miss miss miss" global locus_f " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss vp12710 miss miss miss miss bap0210 miss miss miss miss" global locus " locus_a locus_b locus_c locus_d locus_e locus_f " ** Risk Aversion ** global risiko_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up119 miss miss miss miss zp121 miss miss miss miss bep04" global risiko_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up12001 miss miss miss miss zp11801 miss miss miss miss bep12501" global risiko_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up12002 miss miss miss miss zp11802 miss miss miss miss bep12502" global risiko_d " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up12003 miss miss miss miss zp11803 miss miss miss miss bep12503" global risiko_e " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up12004 miss miss miss miss zp11804 miss miss miss miss bep12504" global risiko_f " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up12005 miss miss miss miss zp11805 miss miss miss miss bep12505" global risiko_g " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss up121 miss miss miss miss zp119 miss miss miss miss miss" global risiko " risiko_a risiko_b risiko_c risiko_d risiko_e risiko_f risiko_g " ** Work Effort ** global workeff_a " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss wp43a01 miss miss miss miss bbp5901 miss miss miss" global workeff_b " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss wp43a03 miss miss miss miss bbp5903 miss miss miss" global workeff_c " miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss wp43a05 miss miss miss miss bbp5905 miss miss miss" global workeff " workeff_a workeff_b workeff_c " ** Mental Health (SF-12) ** global mental_a "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8901 miss up8601 miss wp9001 miss yp10201 miss bap9001 miss bcp9401 miss bep9201" global mental_b "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8902 miss up8602 miss wp9002 miss yp10202 miss bap9002 miss bcp9402 miss bep9202" global mental_c "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8903 miss up8603 miss wp9003 miss yp10203 miss bap9003 miss bcp9403 miss bep9203" global mental_d "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8904 miss up8604 miss wp9004 miss yp10204 miss bap9004 miss bcp9404 miss bep9204" global mental_e "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8908 miss up8608 miss wp9008 miss yp10208 miss bap9008 miss bcp9408 miss bep9208" global mental_f "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8909 miss up8609 miss wp9009 miss yp10209 miss bap9009 miss bcp9409 miss bep9209" * global mental7 "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8910 miss up8610 miss wp9010 miss yp10210 miss bap9010 miss bcp9410 miss bep9210" global mental "mental_a mental_b mental_c mental_d mental_e mental_f" ** Physical Health (SF-12) ** global physical_a "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp86 miss up83 miss wp87 miss yp99 miss bap87 miss bcp91 miss bep89" global physical_b "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp87 miss up84 miss wp88 miss yp100 miss bap88 miss bcp92 miss bep90" global physical_c "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp88 miss up85 miss wp89 miss yp101 miss bap89 miss bcp93 miss bep91" global physical_d "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8905 miss up8605 miss wp9005 miss yp10205 miss bap9005 miss bcp9405 miss bep9205" global physical_e "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8906 miss up8606 miss wp9006 miss yp10206 miss bap9006 miss bcp9406 miss bep9206" global physical_f "miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss miss sp8907 miss up8607 miss wp9007 miss yp10207 miss bap9007 miss bcp9407 miss bep9207" global physical "physical_a physical_b physical_c physical_d physical_e physical_f" global bigfive1 "neurot extra offen vertraeg gewissen" global bigfive2 "$neurot $extra $offen $vertraeg $gewissen" global persoenlichkeit1 "$bigfive1 posrecip negrecip forgive mental physical wohlbef vertr anomie schicksal locus risiko workeff" global persoenlichkeit2 "$bigfive2 $posrecip $negrecip $forgive $mental $physical $wohlbef $vertr $anomie $schicksal $locus $risiko $workeff" global persoenlichkeit3 "pneurot pextra poffen pvertraeg pgewissen pposrecip pnegrecip pforgive pmental pphysical pwohlbef pvertr panomie pschicksal plocus prisiko pworkeff" *** Negatively coded Variables *** global neg "neurot_c extra_c vertraeg_a gewissen_b locus_a forgive_b forgive_c physical_a mental_c mental_d wohlbef_c vertr_a vertr_e anomie_a risiko_g" * (No) Family Events (ink. Widowhood, marriage) (*p.dta) global familyevent "persnr bp8018 cp9118 dp9318 ep8418 fp10318 gp10318 hp10318 ip10318 jp10318 kp10318 lp10318 mp10817 np11517 op12117 pp13325 qp14225 rp13325 sp13326 tp14131 up14431 vp15331 wp14131 xp14837 yp15437 zp15637 bap15940 bbp15143 bcp15043 bdp15743 bep15043" global famevent "familyevent" * Job Change and Employment Type and LF-Status (*pgen.dta) global jobch "jobch84 jobch85 jobch86 jobch87 jobch88 jobch89 jobch90 jobch91 jobch92 jobch93 jobch94 jobch95 jobch96 jobch97 jobch98 jobch99 jobch00 jobch01 jobch02 jobch03 jobch04 jobch05 jobch06 jobch07 jobch08 jobch09 jobch10 jobch11 jobch12 jobch13 jobch14" global erwtyp "erwtyp84 erwtyp85 erwtyp86 erwtyp87 erwtyp88 erwtyp89 erwtyp90 erwtyp91 erwtyp92 erwtyp93 erwtyp94 erwtyp95 erwtyp96 erwtyp97 erwtyp98 erwtyp99 erwtyp00 erwtyp01 erwtyp02 erwtyp03 erwtyp04 erwtyp05 erwtyp06 erwtyp07 erwtyp08 erwtyp09 erwtyp10 erwtyp11 erwtyp12 erwtyp13 erwtyp14" global lfs "lfs84 lfs85 lfs86 lfs87 lfs88 lfs89 lfs90 lfs91 lfs92 lfs93 lfs94 lfs95 lfs96 lfs97 lfs98 lfs99 lfs00 lfs01 lfs02 lfs03 lfs04 lfs05 lfs06 lfs07 lfs08 lfs09 lfs10 lfs11 lfs12 lfs13 lfs14" global emplst "emplst84 emplst85 emplst86 emplst87 emplst88 emplst89 emplst90 emplst91 emplst92 emplst93 emplst94 emplst95 emplst96 emplst97 emplst98 emplst99 emplst00 emplst01 emplst02 emplst03 emplst04 emplst05 emplst06 emplst07 emplst08 emplst09 emplst10 emplst11 emplst12 emplst13 emplst14" global employment "jobch erwtyp lfs emplst" * Life Satisfaction global lsatisfaction "ap6801 bp9301 cp9601 dp9801 ep89 fp108 gp109 hp10901 ip10901 jp10901 kp10401 lp10401 mp11001 np11701 op12301 pp13501 qp14301 rp13501 sp13501 tp14201 up14501 vp154 wp142 xp149 yp15501 zp15701 bap160 bbp15201 bcp151 bdp15801 bep151" global lsatis "lsatisfaction" * Worries/Concerns global worries_a "ap5402 bp7702 cp7702 dp8902 ep7802 fp9402 gp8602 hp9102 ip9102 jp9102 kp9302 lp9902 mp10902 np9502 op9802 pp10902 qp11802 rp11402 sp11302 tp12002 up12502 vp13102 wp12102 xp13002 yp13202 zp12802 bap13002 bbp13102 bcp12702 bdp13302 bep12302" global worries_b "persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr pp10903 qp11803 rp11403 sp11303 tp12003 up12503 vp13103 wp12103 xp13003 yp13203 zp12804 bap13004 bbp13104 bcp12704 bdp13305 bep12304" global worries_c "ap5403 bp7703 cp7703 dp8903 ep7803 fp9403 gp8603 hp9103 ip9103 jp9103 kp9303 lp9903 mp10903 np9503 op9803 pp10904 qp11804 rp11404 sp11304 tp12004 up12504 vp13104 wp12104 xp13004 yp13204 zp12805 bap13005 bbp13105 bcp12705 bdp13306 bep12305" global worries_d "ap5404 bp7704 cp7704 dp8904 ep7804 fp9404 gp8604 hp9104 ip9104 jp9104 kp9304 lp9904 mp10904 np9504 op9804 pp10905 qp11805 rp11405 sp11305 tp12005 up12505 vp13105 wp12105 xp13005 yp13205 zp12807 bap13007 bbp13107 bcp12707 bdp13308 bep12307" global worries_e "persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr kp9306 lp9906 mp10908 np9508 op9808 pp10906 qp11806 rp11406 sp11306 tp12006 up12506 vp13106 wp12106 xp13006 yp13207 zp12809 bap13009 bbp13109 bcp12709 bdp13310 bep12308" global worries_f "ap5401 bp7701 cp7701 dp8901 ep7801 fp9401 gp8601 hp9101 ip9101 jp9101 kp9301 lp9901 mp10901 np9501 op9801 pp10901 qp11801 rp11401 sp11301 tp12001 up12501 vp13101 wp12101 xp13001 yp13201 zp12801 bap13001 bbp13101 bcp12701 bdp13301 bep12301" global worries_g "persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr yp13206 zp12808 bap13008 bbp13108 bcp12708 bdp13309 persnr" global worries_h "persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr pp10908 qp11808 rp11408 sp11308 tp12008 up12508 vp13108 wp12108 xp13008 yp13209 zp12810 bap13010 bbp13110 bcp12710 bdp13311 bep12309" global worries_i "persnr persnr persnr persnr persnr persnr persnr persnr ip9108a jp9108a kp9309a lp99a09 mp10909 np9509 op9809 pp10909 qp11809 rp11409 sp11309 tp12009 up12509 vp13109 wp12109 xp13009 yp13210 zp12811 bap13011 bbp13111 bcp12711 bdp13312 bep12310" global worries "worries_a worries_b worries_c worries_d worries_e worries_f worries_g worries_h worries_i" * Interest in Politics global pinter "persnr bp75 cp75 dp84 ep73 fp89 gp83 hp89 ip89 jp89 kp91 lp97 mp83 np93 op96 pp110 qp115 rp110 sp110 tp117 up122 vp128 wp118 xp127 yp129 zp122 bap127 bbp128 bcp124 bdp130 bep118" global pinterest "pinter" * PNR im Haushalt global pnr "abefrper bbefrper cbefrper dbefrper ebefrper fbefrper gbefrper hbefrper ibefrper jbefrper kbefrper lbefrper mbefrper nbefrper obefrper pbefrper qbefrper rbefrper sbefrper tbefrper ubefrper vbefrper wbefrper xausku ypnr zpnr bapnr bbpnr bcpnr bdpnr bepnr" global pnrg "pnr" * Day/Month Interview (*p.dta) global ptag "persnr bptagin cptagin dptagin eptagin fptagin gptagin hptagin iptagin jptagin kptagin lptagin mptagin nptagin optagin pptagin qptagin rptagin sptagin tptagin uptagin vptagin wptagin xptagin yptagin zptagin baptagin bbptagin bcptagin bdptagin beptagin" global pmon "persnr bpmonin cpmonin dpmonin epmonin fpmonin gpmonin hpmonin ipmonin jpmonin kpmonin lpmonin mpmonin npmonin opmonin ppmonin qpmonin rpmonin spmonin tpmonin upmonin vpmonin wpmonin xpmonin ypmonin zpmonin bapmonin bbpmonin bcpmonin bdpmonin bepmonin" global ptagmon "ptag pmon" * Third Person? global dritte "persnr bpdrpra cpdrpra dpdrpra epdrpra fpdrpra gpdrpra hpdrpra ipdrpra jpdrpra kpdrpra lpdrpra mpdrpra persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr persnr" global thirdp "dritte" *** PGEN-Meta-Global global pgendata "employment" *** P-Meta-Global global pdata "famevent lsatis worries pinterest pnrg ptagmon thirdp" * HH-Prepresentative (PNR) im Haushalt global hausku "aauskper bauskper causkper dauskper eauskper fauskper gauskper hausku iausku jausku kausku lausku mausku nausku oausku pausku qausku rausku sausku tausku uausku vausku wausku xausku yausku zausku baausku bbausku bcausku bdausku beausku" global hauskug "hausku" * Day/Month Houshoeld-Interview (*h.dta) global htag "ahtagin bhtagin chtagin dhtagin ehtagin fhhtagin ghhtagin hhhtagin ihhtagin jhhtagin khhtagin lhhtagin mhhtagin nhhtagin ohhtagin phhtagin qhhtagin rhhtagin shhtagin thhtagin uhhtagin vhhtagin whhtagin xhhtagin yhhtagin zhhtagin bahhtagin bbhhtagin bchhtagin bdhhtagin behhtagin" global hmon "ahmonin bhmonin chmonin dhmonin ehmonin fhhmonin ghhmonin hhhmonin ihhmonin jhhmonin khhmonin lhhmonin mhhmonin nhhmonin ohhmonin phhmonin qhhmonin rhhmonin shhmonin thhmonin uhhmonin vhhmonin whhmonin xhhmonin yhhmonin zhhmonin bahhmonin bbhhmonin bchhmonin bdhhmonin behhmonin" global htagmon "htag hmon" *** H-Meta-Global global hdata "hauskug htagmon" *** Long-Format Global global longformat "$famevent $employment $lsatis $worries $pinterest $pnrg $ptagmon $hauskug $htagmon $thirdp" ************************************* **** PULL VARIABLES OUT OF FILES **** ************************************* *** Variablen aus H *** foreach inc in $hdata { // foreach item in $`inc'{ forvalues i=1/31 { local ww: word `i' of $jahr0 local j1: word `i' of $jahr1 local o: word `i' of $`item' use hhnr hhnrakt `o' using "${soep31}`ww'h.dta", clear rename hhnrakt `ww'hhnr if "`o'" != "hhnr" rename `o' `item'`j1' save "${output}`item'`j1'.dta", replace } } } *********************** *** Variables from P *** foreach inc in $pdata { // foreach item in $`inc'{ forvalues i=1/31{ local ww: word `i' of $jahr0 local j1: word `i' of $jahr1 local o: word `i' of $`item' use persnr `o' using "${soep31}`ww'p.dta", clear if "`o'" != "persnr" rename `o' `item'`j1' save "${output}`item'`j1'.dta", replace } } } *********************** *** Variables from PGEN *** foreach inc in $pgendata { // foreach item in $`inc'{ forvalues i=1/31{ local ww: word `i' of $jahr0 local j1: word `i' of $jahr1 local o: word `i' of $`item' use persnr `o' using "${soep31}`ww'pgen.dta", clear if "`o'" != "persnr" rename `o' `item'`j1' save "${output}`item'`j1'.dta", replace } } } *********************** *** Personality/Well-Being Variables *** foreach pers in $persoenlichkeit1{ // foreach item in $`pers'{ forvalues i=1/31{ local ww: word `i' of $jahr0 local j1: word `i' of $jahr1 local o: word `i' of $`item' use "${soep31}`ww'p.dta", clear * Position in Fragebogen gen x`o'="`o'" * nur die numerischen Eintr‰ge replace x`o' = regexs(0) if regexm("x`o'", "[0-9]*$") gen l`o'=length(x`o') gen str1 y1`o' = substr(x`o',1,1) if l`o'==0 gen str2 y2`o' = substr(x`o',1,2) if l`o'==2 | l`o'==4 gen str3 y3`o' = substr(x`o',1,3) if l`o'==3 | l`o'==5 gen p`o'=. forval i=1/3 { destring y`i'`o', replace replace p`o'=y`i'`o' if p`o'==. } gen miss=. rename `o' `item'`j1' rename p`o' p`item'`j1' keep persnr `item'`j1' mvdecode _all, mv(-3 -2 -1) sort persnr save "${output}`item'`j1'.dta", replace } } } *********************** * Prevalence of Don't Knows forvalues i=1/31{ local ww: word `i' of $jahr0 local j1: word `i' of $jahr1 use "${soep31}`ww'p.dta", clear ds, not(type string) di "`r(varlist)'" local vars `r(varlist)' egen dk=anycount(`vars'), values(-1) egen miss=anycount(`vars'), values(-9/-2) egen tot=rownonmiss(`vars') gen inr`j1'=dk/(tot-miss) keep persnr inr`j1' save "${output}inr`j1'.dta", replace } ** Merging all Files ** use persnr psample *hhnr *netto gebjahr sex migback loc1989 *sampreg using "${soep31}ppfad.dta", clear forvalues i=1/31 { local j0: word `i' of $jahr0 local j1: word `i' of ${jahr1} merge 1:1 persnr using "${output}inr`j1'.dta", keep(match master) nogen foreach inc in $hdata { // foreach item in $`inc'{ merge m:1 `j0'hhnr using "${output}`item'`j1'.dta", nogen keep(match master) erase "${output}`item'`j1'.dta" } } foreach inc in $pgendata { // foreach item in $`inc'{ display " `item' `j1' " merge 1:1 persnr using "${output}`item'`j1'.dta", nogen keep(match master) erase "${output}`item'`j1'.dta" } } foreach inc in $pdata { // foreach item in $`inc'{ display " `item' `j1' " merge 1:1 persnr using "${output}`item'`j1'.dta", nogen keep(match master) erase "${output}`item'`j1'.dta" } } } save "${output}basefile_0.dta", replace use "${output}basefile_0.dta", clear use persnr using "${soep31}ppfad.dta", clear forvalues i=1/31 { local j0: word `i' of $jahr0 local j1: word `i' of ${jahr1} merge 1:1 persnr using "${output}inr`j1'.dta", keep(match master) nogen foreach inc in $persoenlichkeit1 { // foreach item in $`inc'{ display " `item' `j1' " merge 1:1 persnr using "${output}`item'`j1'.dta", nogen keep(match master) erase "${output}`item'`j1'.dta" } } } save "${output}personality.dta", replace use "${output}basefile_0.dta", clear merge 1:1 persnr using "${output}personality.dta", keep(1 3) nogen ********************************* *** Adding further Covariates *** ********************************* *** Education and Interview-Mode forvalues i=1/31 { local j2: word `i' of ${jahr2} local j1: word `i' of ${jahr1} local ww: word `i' of ${jahr0} merge 1:1 persnr using "${soep31}`ww'pgen.dta", nogenerate keepus(casmin`j2' mode`j2' `ww'psbil) keep(match master) rename (casmin`j2' mode`j2') (casmin`j1' mode`j1') rename `ww'psbil psbil`j1' } *** Length of Interview (available since 1985) merge 1:1 persnr using "${soep31}apbrutto.dta", nogen keepus(intid) keep(1 3) rename intid intid1984 forvalues i=2/15 { local j2: word `i' of ${jahr2} local j1: word `i' of ${jahr1} local ww: word `i' of $jahr0 merge 1:1 persnr using "${soep31}`ww'p.dta", nogenerate keepus(intid `ww'pinda1 `ww'pinda2) keep(match master) rename (intid `ww'pinda1 `ww'pinda2) (intid`j1' pdauer1`j1' pdauer2`j1') replace pdauer1`j1'=pdauer2`j1' if (pdauer1`j1'==. | pdauer1`j1'<0) & (pdauer2`j1'!=. & pdauer2`j1'>0) drop pdauer2`j1' rename pdauer1`j1' pdauera`j1' } forvalues i=16/31 { local j2: word `i' of ${jahr2} local j1: word `i' of ${jahr1} local ww: word `i' of $jahr0 merge 1:1 persnr using "${soep31}`ww'p.dta", nogenerate keepus(intid `ww'pdauer1 `ww'pdauer2) keep(match master) rename (intid `ww'pdauer1 `ww'pdauer2) (intid`j1' pdauer1`j1' pdauer2`j1') replace pdauer1`j1'=pdauer2`j1' if (pdauer1`j1'==. | pdauer1`j1'<0) & (pdauer2`j1'!=. & pdauer2`j1'>0) drop pdauer2`j1' rename pdauer1`j1' pdauera`j1' } gen ost=loc1989==1 if loc1989>=1 & loc1989<=3 foreach t in g h i j k l m n o p q r s t u v w x y z ba bb bc bd { replace ost=`t'sampreg==2 if `t'sampreg>=1 & `t'sampreg<=2 & ost==. drop `t'sampreg } replace ost=0 if ost==. drop loc1989 gen pdauera1984=. * Rename of Net-Participation Codes forvalues i=1/31{ local ww: word `i' of $jahr0 local yy: word `i' of $jahr1 rename `ww'netto netto`yy' } * Current Household Number forvalues i=1/31 { local ww: word `i' of $jahr0 local j1: word `i' of $jahr1 rename `ww'hhnr hhnrakt`j1' } save "${output}basefile_1.dta", replace use "${output}basefile_1.dta", clear *** Long format *** reshape long $longformat $persoenlichkeit2 $persoenlichkeit3 casmin psbil mode netto intid pdauer1 inr hhnrakt, i(persnr) j(waves) xtset persnr waves save "${output}basefile_2.dta", replace use "${output}basefile_2.dta", clear ************************************************************************* ************************************************************************* *** VARIABLE PREPARATTION: Generate, Missings, Renaming, and Recoding *** ************************************************************************* ************************************************************************* * Mode mvdecode mode, mv(-1 -2 -3) ** Drop all Lines (=PersonYears) in which a Person did not participate drop if mode == . * Rename Respondent Sex rename sex rsex * Adding Information about Interviewers rename waves syear merge m:1 intid syear using "${soep31}interviewer.dta", nogen keep(1 3) rename syear year * Intid: Missings deklarieren mvdecode intid, mv(-1) *** Respondent Panel Experience *** gen bef = 1 if mode!=. egen rexp1 = rank(year) if bef==1, by(persnr) recode rexp1 (1 = 1 "1 year") (2 = 2 "2 years") (3 4 = 3 "3-4 years") /// (5/9 = 4 "5-9 years") (10/max = 5 "10+ years"), gen(rexp1cutold) recode rexp1 (1 = 1 "1 year") (2 = 2 "2 years") (3 4 = 3 "3-4 years") /// (5/max = 4 "5+ years"), gen(rexp1cut) *** Prospective Panel Participation bysort persnr: egen x = total(bef) gen prosp = . replace prosp = x - rexp1 if bef == 1 recode prosp (0 = 0 "Final Year") (1 = 1 "1 year") (2 = 2 "2 years") /// (3 = 3 "3 years") (4 = 4 "4 years") (5/8 = 5 "5-8 years") /// (9/12 = 6 "9-12 years") (13/max = 7 "13+ years"), gen(prospcut) * Missing Values mvdecode gebjahr worries* pinter migback /// jobch erwtyp lfs emplst psbil casmin /// lsatisfaction /// , mv(-9 -8 -7 -6 -5 -4 -3 -2) * Recode "No Answer" mvdecode gebjahr worries* pinter migback /// jobch erwtyp lfs emplst psbil casmin /// lsatisfaction /// , mv(-1=.a) *** Respondent Socio-Demographics fre rsex gebjahr drop if gebjahr == .a gen rage = year-gebjahr recode rage (17/25 = 1 "17 to 25") (26/44 = 2 "26 to 44") /// (45/59 = 3 "45 to 59") (60/max = 4 "60+"), gen(rage_kat) drop if rage < 17 gen rage2 = rage*rage fre ost recode migback (. -1=1) (4=2) recode migback (1=0) (2/3=1) *** Interviewer Socio-Demographics mvdecode birth, mv(-1 -2) gen iage = year-birth recode iage (min/49 = 1 "17 to 50") (50/59 = 2 "50 to 59") /// (60/69 = 3 "60 to 69") (70/max = 4 "70+"), gen(iage_kat) gen iage2 = iage*iage rename sex isex mvdecode isex, mv(-2 -1) *** Harmonize Education Variables * Hauptschule = Secondary School Degree * Realschule = Intermediate School Degree * Fachhochschulreife = Technical School Degree * Abitur = Upper Secondary Degree * Anderer Abschluss = Other Degree * Ohne Abschluss = Dropout, No School Degree * Noch kein Abschluss = Currently in School mvdecode educ, mv(-2 -1) recode educ (1 = 1 "Low Education") (2 6 = 2 "Medium Education") /// (3/5 = 3 "High Education"), gen(ieduc) mvdecode psbil, mv(7) recode psbil (1 6 = 1 "Low Education") (2 5 = 2 "Medium Education") /// (3 4 = 3 "High Education"), gen(reduc) *** Attitudes (Worries/Concerns) renvars worries_a worries_b worries_c worries_d worries_e worries_f worries_g worries_h worries_i \ /// ownecon ownhealth environ peace crime genecon terror immigration xenoph recode ownecon (3 = 1) (1 2 = 0), gen(ownecon_ud) recode ownhealth (3 = 1) (1 2 = 0), gen(ownhealth_ud) recode immigration (1 = 1) (2 3 = 0), gen(immigration_ud) recode xenoph (3 = 1) (1 2 = 0), gen(xenoph_ud) recode environ (3 = 1) (1 2 = 0), gen(environ_ud) recode peace (3 = 1) (1 2 = 0), gen(peace_ud) recode crime (3 = 1) (1 2 = 0), gen(crime_ud) recode terror (3 = 1) (1 2 = 0), gen(terror_ud) recode genecon (3 = 1) (1 2 = 0), gen(genecon_ud) recode ownecon (1 = 1) (2 3 = 0), gen(ownecon_sd) recode ownhealth (1 = 1) (2 3 = 0), gen(ownhealth_sd) recode immigration (3 = 1) (1 2 = 0), gen(immigration_sd) recode xenoph (1 = 1) (2 3 = 0), gen(xenoph_sd) recode environ (1 = 1) (2 3 = 0), gen(environ_sd) recode peace (1 = 1) (2 3 = 0), gen(peace_sd) recode crime (1 = 1) (2 3 = 0), gen(crime_sd) recode terror (1 = 1) (2 3 = 0), gen(terror_sd) recode genecon (1 = 1) (2 3 = 0), gen(genecon_sd) recode immigration (3 = 1) (2 = 2) (1 = 3) *** Interest for Politics fre pinter recode pinter (4 = 1) (1 2 3 = 0), gen(pinter_ud) recode pinter (1 = 1) (2 3 4 = 0), gen(pinter_sd) recode pinter (1 2 = 1) (3 4 = 0), gen(pinter_alt) *** Life Satisfaction recode lsatisfaction (0/6 = 1) (7/10 = 0), gen(lsatisfaction_ud) recode lsatisfaction (9/10 = 1) (0/8 = 0), gen(lsatisfaction_sd) *** Family Events replace familyevent = . if familyevent > 1 replace familyevent = 0 if familyevent == -2 recode familyevent (0 = 1 "Familyevent") (1 = 0 "No Familyevent"), gen(fevent) mvdecode fevent, mv(-1 -5) replace fevent = 0 if fevent == . *** Job Events fre jobch erwtyp lfs emplst gen jevent = (jobch==4 | jobch==5 | lfs==6) *** Unemployment gen unempl = 0 sort persnr year bysort persnr (year): gen count = _n replace unempl = 1 if (emplst == 5 & emplst != .) & (emplst[_n-1] != 5) replace unempl = 0 if count == 1 drop count *** Education fre psbil casmin recode casmin (0/3=1 "primary") (4/7=2 "secondary") (8/9=3 "tertiary"), gen(casmin3) *** Haushold Representative replace pnr = . if pnr == 0 mvdecode hausku, mv(-1) gen hhint = 0 replace hhint = 1 if pnr == hausku & (pnr != . & hausku != .) *** Sample-Variable fre psample *** Survey-Year fre year *** Prospective Survey Experience fre prosp prospcut save "${output}nooneexluded.dta", replace *** Keep only Face-to-Face Interviews drop if intid == . keep if mode == 100 | mode == 110 | mode == 131 | mode == 132 | mode == 140 *** Is there an Interviewer Change in a given Year/Wave? sort persnr year gen intchange=intid!=l1.intid replace intchange=0 if intid==. | l1.intid==. replace intchange = 0 if intchange == 1 & persnr != persnr[_n-1] gen intnew = intchange replace intnew = 1 if rexp1 == 1 *** Move rename year syear sort persnr syear merge 1:1 persnr syear using "${soep31}movedist.dta", keepus(distance) drop if _merge==2 drop _merge rename syear year rename distance move recode move (-1 -2=.) (0/100=0) (100/max=1) keep if intid!=. sort persnr year replace move = 0 if move == . *** Reasons for Interviewer-Change * No Interviewer-Change gen reason = 0 * Move replace reason = 1 if intchange == 1 & move == 1 * Interviewer retired sort intid year bysort intid (year): egen lastyint = max(year) sort persnr year replace reason = 2 if reason == 0 & intchange == 1 & /// l1.lastyint < year & iage_kat == 4 * Interviewer quits/fired replace reason = 3 if reason == 0 & intchange == 1 & /// l1.lastyint < year & (iage_kat <= 3 | iage_kat == .) * Interviewer drops out temporarily replace reason = 4 if reason == 0 & intchange == 1 & /// l1.lastyint > year * Interviewer allocated to another area/houshold replace reason = 5 if reason == 0 & intchange == 1 & /// l1.lastyint == year * Interview label define reason 0 "No Int. Change" /// 1 "Resp. Moved" 2 "Int. retired" 3 "Int. quits/fired" /// 4 "Int. temp. dropout" 5 "Int. re-allocated" label values reason reason *** How many years interviewed in face-to-face mode? egen rexp2 = rank(year) if bef==1, by(persnr) recode rexp2 (1 = 1 "1 year") (2 = 2 "2 years") (3 = 3 "3 years") /// (4 = 4 "4 years") (5/9 = 5 "5-9 years") (10/max = 6 "10+ years"), gen(rexp2cut) * Interviewer-Experience * Number of years (waves) working as SOEP interviewer rename experience iexp1 recode iexp1 (1 = 1 "First year") (2/4 = 2 "2-4 years") /// (5/8 = 3 "5-8 years") (9/15 = 4 "9-15 years") /// (16/max = 5 "16+ years"), gen(iexp1cut) * Number of interviews in a given wave gen amountall = amountinth + amountintp * Cumulative number of interviews ever conducted in a given wave preserve use "${soep31}interviewer.dta", clear keep intid syear wave amountinth amountintp rename syear year fre amountinth amountintp replace amountinth = 0 if amountinth == -2 replace amountintp = 0 if amountintp == -2 gen amountall = amountinth + amountintp drop amountinth amountintp gen amountcum_all = amountall bysort intid (year): replace amountcum_all = amountcum_all + amountcum_all[_n-1] if _n > 1 recode amountcum_all (0 = 0 "0 Interviews") (1/10 = 1 "1-10 Interviews") /// (11/20 = 2 "11-20 Interviews") (21/100 = 3 "21-100 Interviews") /// (101/300 = 4 "101-300 Interviews") (301/max = 5 "301+ Interviews"), gen(amountcum_allcut) keep intid year amountcum_all amountcum_allcut rename amountcum_all iexp2 rename amountcum_allcut iexp2cut save "${output}amountcum_all.dta", replace restore merge m:1 intid year using "${output}amountcum_all.dta", keep(1 3) nogen * Number of interviews at day X mvdecode pmon ptag, mv(0 -1 -2 -3 -8) bysort intid year pmon ptag: gen amountday = _N * Number of interviews in that wave at day X preserve bysort intid year pmon ptag: gen count = _n keep if count == 1 drop count gen amountcum_year = amountday bysort intid year (pmon ptag): replace amountcum_year = amountcum_year + amountcum_year[_n-1] if _n > 1 recode amountcum_year (1/8 = 1 "1-8 Interviews") (9/19 = 2 "9-19 Interviews") /// (20/40 = 3 "20-40 Interviews") (41/max = 4 "41+ Interviews"), gen(amountcum_yearcut) keep intid year pmon ptag amountcum_year amountcum_yearcut rename amountcum_year iexp3 rename amountcum_yearcut iexp3cut save "${output}amountcum_year.dta", replace restore merge m:1 intid year pmon ptag using "${output}amountcum_year.dta", keep(1 3) nogen *** Interviewer-Respondent Familiarity egen fami = rank(year) if bef==1, by(persnr intid) recode fami (1 = 1 "1 year") (2 = 2 "2 years") (3 4 = 3 "3-4 years") /// (5/9 = 4 "5-9 years") (10/max = 5 "10+ years"), gen(famicutold) recode fami (1 = 1 "1 year") (2 = 2 "2 years") (3 4 = 3 "3-4 years") /// (5/max = 4 "5+ years"), gen(famicut) *** If interviewer change: Do R and I know each other from previous waves already? gen newint = 0 replace newint = 1 if intchange == 1 & fami == 1 *** At least one interviewer change bysort persnr: egen monechange = total(intchange) recode monechange (1/max = 1) *** Total number of interviewer changes per respondent replace intchange = 0 if fami != 1 cap drop ichangesum bysort persnr: egen ichangesum = total(intchange) *** Time of interview tostring pmon, gen(pmon_str) replace pmon_str = "" if pmon_str == "." gen monstr = strlen(pmon_str) replace pmon_str = "0"+pmon_str if monstr == 1 tostring ptag, gen(ptag_str) replace ptag_str = "" if ptag_str == "." gen tagstr = strlen(ptag_str) replace ptag_str = "0"+ptag_str if tagstr == 1 gen str4 datum = pmon_str+ptag_str destring datum, replace gen fphase = . forvalues i = 1985/2014 { egen fphase`i' = cut(datum) if year == `i', group(3) replace fphase = fphase`i' if year == `i' & fphase == . } replace fphase = 1 if fphase == . * Response rate of interviewers per wave preserve keep intid year responserate duplicates drop replace responserate = . if responserate == -2 gen rr_low = 0 gen rr_high = 0 forvalues i = 1985/2014 { qui centile responserate if year == `i', centile(25 75) replace rr_low = (responserate.1 & sd`block'`j1'!=. & style`j1'!=1 replace style`j1'=1 if sd`block'`j1'<.1 & sd`block'`j1'!=. & style`j1'!=1 } keep persnr style`j1' save "${output}style`j1'.dta", replace use "${output}straightlining_v1.dta", clear } use "${output}straightlining_v1.dta", clear forvalues i=1/31 { local j1: word `i' of ${jahr1} merge 1:1 persnr using "${output}style`j1'.dta", keep(match master) nogen } keep persnr style* reshape long style, i(persnr) j(year) rename style strline save "${output}straightlining.dta", replace *** Response Style: Extreme vs. Centered vs. None *** use "${output}basefile_4.dta", clear gen id = _n mvdecode *_a *_b *_c *_d *_e *_f *_g, mv(-5) rename *_a *1 rename *_b *2 rename *_c *3 rename *_d *4 rename *_e *5 rename *_f *6 rename *_g *7 global neurot "neurot1 neurot2 neurot3" global extra "extra1 extra2 extra3" global offen "offen1 offen2 offen3" global vertraeg "vertraeg1 vertraeg2 vertraeg3" global gewissen "gewissen1 gewissen2 gewissen3" global schicksal "schicksal1 schicksal2 schicksal3 schicksal4 schicksal5" global locus "locus1 locus2 locus3 locus4 locus5 locus6" global risiko "risiko1 risiko2 risiko3 risiko4 risiko5 risiko6 risiko7" global physical "physical1 physical2 physical3 physical4 physical5 physical6" global mental "mental1 mental2 mental3 mental4 mental5 mental6" global rscales "neurot extra offen vertraeg gewissen schicksal locus risiko physical" foreach scale in $rscales { egen mean`scale'=rowmean($`scale') foreach x of global `scale' { //z.B. anomie1 reg `x' mean`scale', beta //z.B. anomie1 ~ meananomie est store `x' predict xbmean`x', xb predict resmean`x', res gen dev`x'=xbmean`x'^2/(resmean`x'^2+xbmean`x'^2) } dis "******************************************" dis "********** Test-Item Correlation *********" dis "******************************************" esttab `scale'*, beta egen testitem`scale'=rowmean(dev`scale'*) drop dev* xb* res* tokenize $`scale' local first `1' local rest `*' dis "******************************************" dis "*********** Person-Fit 2P-IRT ************" dis "******************************************" gsem (Scale -> `first'@1 `rest'), ologit predict `scale', latent(Scale) se(se`scale') gen values`scale'=0 local item : word count $`scale' * standardized log-likelihood fit statistic forval i=1/`item' { sum `scale'`i' local cat=r(max) replace values`scale'=values`scale'+`cat'+1 * Expected Values forval j=1/`cat' { predict p`i'`j' if e(sample), outcome(`scale'`i' `j') pr gen d`i'`j'=`scale'`i'==`j' gen prod`i'`j'=d`i'`j'*ln(p`i'`j') gen exp`i'`j'=p`i'`j'*ln(p`i'`j') } * Variance forval j=1/`cat' { forval h=1/`cat' { gen var`i'`j'`h'=p`i'`j'*p`i'`h'*ln(p`i'`j')*ln(p`i'`j'/p`i'`h') } } egen dropme1`scale'`i'=rowtotal(prod`i'*) egen dropme2`scale'`i'=rowtotal(exp`i'*) egen dropme3`scale'`i'=rowtotal(var`i'*) drop prod`i'* exp`i'* p`i'* d`i'* var`i'* } egen ll`scale'=rowtotal(dropme1`scale'*) egen exp`scale'=rowtotal(dropme2`scale'*) egen var`scale'=rowtotal(dropme3`scale'*) gen llz`scale'=(ll`scale'-exp`scale')/(var`scale')^.5 * Incomplete Scales to Missing egen valid=rownonmiss($`scale') replace ll`scale'=. if valid<`item' replace llz`scale'=. if valid<`item' replace testitem`scale'=. if valid<`item' replace `scale'=. if valid<`item' drop dropme* valid var* exp* } save "${output}zwischenfile_r.dta", replace use "${output}zwischenfile_r.dta", clear tokenize $rscales di " `1' `2' `3' `4' `5' `6' `7' `8' `9' " stack persnr year id `1' /* */ persnr year id `2' /* */ persnr year id `3' /* */ persnr year id `4' /* */ persnr year id `5' /* */ persnr year id `6' /* */ persnr year id `7' /* */ persnr year id `8' /* */ persnr year id `9' /* */ , into(persnr year id theta) clear rename _stack scale keep if theta! = . * Extreme/centered answers in scales egen min=min(theta), by(scale year) egen max=max(theta), by(scale year) gen theta01=(theta-min)/(max-min) gen ext=((theta01<.1 | theta01>.9) & theta01!=.) gen cen=((theta01>.45 & theta01<.55) & theta01!=.) egen extreme=mean(ext), by(persnr year) egen center=mean(cen), by(persnr year) * Response Styles: no, centrist, extreme (>p75) gen respstyle=1 if theta!=. replace respstyle=2 if center>.2 & center!=. replace respstyle=3 if extreme>.2 & extreme!=. replace respstyle=1 if extreme>.2 & extreme!=. & center>.2 & center!=. label define respstyle 1 "No Style" 2 "Centrist" 3 "Extreme" label values respstyle respstyle drop min max theta01 ext cen extreme center * Conscientiousness gen dropme1=theta if scale==5 egen dropme2=mean(dropme1), by(persnr) gen gewissen3=0 if dropme2==. replace gewissen3=1 if dropme2!=. & dropme2<=-1.4 replace gewissen3=2 if dropme2!=. & dropme2>-1.4 & dropme2<=1.4 replace gewissen3=3 if dropme2!=. & dropme2>1.4 * Neuroticism gen dropme3=theta if scale==1 egen dropme4=mean(dropme3), by(persnr) gen neurot3=0 if dropme4==. replace neurot3=1 if dropme4!=. & dropme4<=-.4 replace neurot3=2 if dropme4!=. & dropme4>-.4 & dropme4<=.4 replace neurot3=3 if dropme4!=. & dropme4>.4 keep persnr year respstyle gewissen3 neurot3 rename gewissen3 consc rename neurot3 neuro duplicates drop _all, force save "${output}respstyle.dta", replace use "${output}basefile_4.dta", clear *** Merge Straighlining + Response-Style merge 1:1 persnr year using "${output}straightlining.dta", keep(1 3) nogen keepus(strline) merge 1:1 persnr year using "${output}respstyle.dta", keep(1 3) nogen keepus(respstyle consc neuro) *** Create Item Nonresponse Categorical Variable sum inr, d recode inr (0 = 0 "None") (0.000001/0.02 = 1 "Some") (0.020000001/max = 2 "Top 25%"), gen(inr_cat) *** Mode-Dummy PAPI vs. CAPI rename mode modex recode modex (100 110 131 132 = 0 "PAPI") (140 = 1 "CAPI"), gen(mode) *** Add Satisfaction with Health rename persnr pid rename year syear cap drop _merge merge 1:1 pid syear using "${soep31long}zufrgesund_v31_long.dta", keep(1 3) rename pid persnr rename syear year rename plh0171 gessatis mvdecode gessatis, mv(-1 -5) recode gessatis (9 10 = 1 "Sehr zufrieden") (0/8 = 0 "Rest"), gen(gessatis_sd) *** Label Variables *** lab var ieduc "Education Interviewer" lab var reduc "Education Respondent" lab var rexp1 "REXP: Years in SOEP" lab var rexp1cut "REXP: Years in SOEP" lab var rexp2 "REXP: F2F Years in SOEP" lab var rexp2cut "REXP: F2F Years in SOEP" lab var iexp1 "IEXP: Years as Interviewer" lab var iexp1cut "IEXP: Years as Interviewer" lab var iexp2 "IEXP: Total interviews ever conducted" lab var iexp2cut "IEXP: Total interviews ever conducted" lab var iexp3 "IEXP: Interviews in current wave" lab var iexp3cut "IEXP: Interviews in current wave" lab var fami "FAMI: R-I Familiarity" lab var famicut "FAMI: R-I Familiarity" lab var pdauer1 "Interview length" lab var inr "Item Nonresponse Rate" rename year waves sort persnr waves save "${output}readyforanalyses.dta", replace **************************************** ****** ANALYSIS ANALYSIS ANALYSIS ****** **************************************** log using "${logs}descriptives", text replace *** Share of Face-to-Face Interviews in the 2014 wave use "${soep31}bepgen.dta", clear fre mode *** Panel Experience use "${output}nooneexluded.dta", clear cap drop bef rexp1 gen bef = 1 if mode!=. egen rexp1 = rank(year) if bef==1, by(persnr) sum rexp1, d sum rexp1 if year == 2014, d *** Interviewer Familiarty & Changes use "${output}readyforanalyses.dta", clear sum fami, d sum fami if waves == 2014, d distinct persnr distinct persnr if ichangesum == 0 distinct persnr if ichangesum != 0 dis 15665/69521 fre intchange if waves == 2014 * TABLE 1 fre reason if intchange == 1 distinct persnr if intchange == 1 fre psample fre psample if ichangesum != 0 corr rexp1 fami * Sample for Analysis distinct persnr if ichangesum != 0 foreach var in lsatisfaction_sd pinter_sd /* */ immigration_sd xenoph_sd environ_sd /* */ peace_sd crime_sd { distinct persnr if `var' != . & ichangesum != 0 } * TABLE 2 * No. of waves across items foreach var in lsatisfaction_sd pinter_sd /* */ immigration_sd xenoph_sd environ_sd /* */ peace_sd crime_sd { distinct waves if `var' != . sum `var' if `var' != . & ichangesum != 0 } log close log using "${logs}descriptives_appendix", text replace * TABLE 5 APPENDIX * Lage- und Streumaße: Dependent Variables Raw foreach var in lsatisfaction pinter /* */ immigration xenoph environ /* */ peace crime { sum `var' if `var' != . & ichangesum != 0 distinct persnr if `var' != . & ichangesum != 0 } * TABLE 6 APPENDIX * Lage- und Streumaße: Explanatory Variables foreach var in intchange fami rexp1 prosp /// move iexp1 rr_high contact_high /// inr strline respstyle { sum `var' if `var' != . & ichangesum != 0 } * TABLE 7 APPENDIX foreach var in lsatisfaction_sd pinter_sd /* */ immigration_sd xenoph_sd environ_sd /* */ peace_sd crime_sd { xttab `var' if ichangesum > 0 } log close *** Basic Model: Interviewer Change *** log using "${logs}basic_intchange", text replace use "${output}readyforanalyses.dta", clear foreach var of varlist lsatisfaction_sd pinter_sd /* */ immigration_sd xenoph_sd environ_sd /* */ peace_sd crime_sd { xtlogit `var' i.intchange i.rexp1cutold i.prospcut i.waves /// i.move i.mode /// i.iexp1cut i.rr_high i.contact_high /// if ichangesum > 0, fe or est store ic`var' } esttab ic*, se compress eform label b(%15.2f) tex /// keep(*`iv'* *rexp*) /// star(* 0.05 ** 0.01 *** 0.001) /// stat(N N_g) log close *** Basic Model: Interviewer Familiarity *** log using "${logs}basic_fami", text replace use "${output}readyforanalyses.dta", clear foreach var of varlist lsatisfaction_sd pinter_sd /* */ immigration_sd xenoph_sd environ_sd /* */ peace_sd crime_sd { xtlogit `var' i.famicutold i.rexp1cutold i.prospcut i.waves /// i.move i.mode /// i.iexp1cut i.rr_high i.contact_high /// if ichangesum > 0, fe or est store famix`var' } esttab famix*, se compress eform label b(%15.2f) tex /// keep(*`iv'* *rexp*) /// star(* 0.05 ** 0.01 *** 0.001) /// stat(N N_g) log close *** Robustness Checks I: Satisficing *** log using "${logs}robustcheck_satisficing", text replace use "${output}readyforanalyses.dta", clear foreach var of varlist lsatisfaction_sd pinter_sd /* */ immigration_sd xenoph_sd environ_sd /* */ peace_sd crime_sd { xtlogit `var' i.famicutold i.rexp1cutold i.prospcut i.waves /// i.move i.mode /// i.iexp1cut i.rr_high i.contact_high /// i.inr_cat i.strline i.respstyle /// if ichangesum > 0, fe or est store fam`var' } esttab fam*, se compress eform label b(%15.2f) tex /// keep(*fam* *rexp* *inr* *strl* *sty*) /// star(* 0.05 ** 0.01 *** 0.001) /// stat(N N_g) log close *** Robustness Checks II: Reverse Items *** log using "${logs}no_connotations", text replace use "${output}readyforanalyses.dta", clear foreach var of varlist gessatis_sd ownhealth_sd ownecon_sd genecon_sd { xtlogit `var' i.famicutold i.rexp1cutold i.prospcut i.waves /// i.move i.mode /// i.iexp1cut i.rr_high i.contact_high /// if ichangesum > 0, fe or est store fam_con`var' } esttab fam_con*, se compress eform label b(%15.2f) tex /// keep(*fam* *rexp*) /// star(* 0.05 ** 0.01 *** 0.001) /// stat(N N_g) log close