/*** ****************************************************************************** # Stata-Programmcode für Zusatzvariablen zur Lebensform und Familiensituation der Befragten ***/ //ON /*** dh12 LEBENSFORM BEFRAGTE - KURZ dh13 LEBENSFORM BEFRAGTE - FAMILIE dh14 LEBENSFORM NACH MIKROZENSUS-TYPOLOGIE dh15 MEHRGENERATIONEN-HAUSHALT dh16 EIG. KINDER IM HAUSHALT: LEDIG, N.LEDIG dh17 ALTER JUENGSTES HAUSHALTSMITGLIED Weitere Informationen siehe: Sonja Schulz und Sarah Thiesen 2022: Bildung von Zusatzvariablen zur Lebensform und Familiensituation der befragten Person im ALLBUS, GESIS-Papers 2022|12, Köln: GESIS - Leibniz-Institut für Sozialwissenschaften. (c) GESIS 2022 GESIS - Leibniz-Institut für Sozialwisschenschaften https://www.gesis.org/allbus ***/ /*** ## Bitte Pfad und Dateinamen des verwendeten ALLBUS-Datensatzes und der Ausgabedatei anpassen: ***/ // local data "\ZAxxxx_vx-x-x.dta" // local outfile "\ZAxxxx_famtyp.dta" /*** ## ALLBUS-Datensatz öffnen ***/ // use "`data'", clear *ALLBUS 2012/2014 - Variable ZA-Nummer umbenennen. capture confirm variable v1 if !_rc { rename v1 za_nr } capture confirm variable V1 if !_rc { rename V1 za_nr } * ALLBUS 2012 - Missings auf negative Werte recodieren und Variablen umbenennen capture assert za_nr == 4614 if !_rc { keep za_nr v2 v6 v8 v217 v218 v219 v220 v274 v300 v301 v348 v350 /// v351 v352 v353 v357 v359 v363 v367 v369 v373 v377 v379 v383 /// v387 v389 v393 v397 v399 v403 v407 v409 v413 v417 v419 v429 /// v430 v740 v741 v742 v743 v744 v745 v746 rename (v2 v6 v8 v217 v218 v219 v220 v274 v300 v301 v348 v350 v351 v352 /// v353 v357 v359 v363 v367 v369 v373 v377 v379 v383 v387 v389 v393 v397 /// v399 v403 v407 v409 v413 v417 v419 v429 v430 v740 v741 v742 v743 v744 /// v745 v746) (respid german eastwest sex mborn yborn age mstat dp01 dp03 /// dh01 dh03 dh04 dh09 hh2kin hh2age hh2mstat hh3kin hh3age hh3mstat hh4kin /// hh4age hh4mstat hh5kin hh5age hh5mstat hh6kin hh6age hh6mstat hh7kin /// hh7age hh7mstat hh8kin hh8age hh8mstat dk05 dk06 dh05 dh07 dh08 wghtpew /// wghtht wghthew wghthtew) recode dh01 dk05 (9 = -9) recode mborn mstat dh04 dh07 (99 = -9) recode yborn (9999 = -9) recode dp01 dp03 hh*mstat (0 = -10) (9 = -9) recode hh*kin dk06 (0 = -10) (99 = -9) recode age (999 = -32) recode hh*age (996 = -10) (999 = -32) recode dh05 (0 = -10) (999 = -32) recode dh08 dh09 (0 = -10) (99 = -32) recode wght* (10 = 0) generate year = 2012 } * ALLBUS 2014 - Missings auf negative Werte recodieren und Variablen umbenennen capture assert za_nr == 5240 if !_rc { keep za_nr V2 V6 V7 V81 V82 V83 V84 V297 V333 V334 V421 V423 /// V424 V425 V426 V430 V432 V435 V439 V441 V444 V448 V450 V453 /// V457 V459 V462 V466 V468 V471 V475 V477 V480 V484 V486 V527 /// V528 V589 V590 V591 V592 V863 V864 V865 V870 V871 V872 V873 rename (V2 V6 V7 V81 V82 V83 V84 V297 V333 V334 V421 V423 V424 V425 V426 /// V430 V432 V435 V439 V441 V444 V448 V450 V453 V457 V459 V462 V466 V468 /// V471 V475 V477 V480 V484 V486 V527 V528 V589 V590 V591 V592 V863 V864 /// V865 V870 V871 V872 V873) (respid german eastwest sex mborn yborn age /// mstat dp01 dp03 dh01 dh03 dh04 dh09 hh2kin hh2age hh2mstat hh3kin hh3age /// hh3mstat hh4kin hh4age hh4mstat hh5kin hh5age hh5mstat hh6kin hh6age /// hh6mstat hh7kin hh7age hh7mstat hh8kin hh8age hh8mstat dk05 dk06 dk08a /// dk09a dk08 dk09 dh05 dh07 dh08 wghtpew wghtht wghthew wghthtew) recode dh01 dk05 (9 = -9) recode mborn mstat dh04 (99 = -9) recode yborn (9999 = -9) recode dp01 dp03 hh*mstat (0 = -10) (9 = -9) recode dh03 hh*kin dk06 dh08 (0 = -10) (99 = -9) recode dh07 dh09 (99 = -32) recode age (999 = -32) recode hh*age (996 = -10) (999 = -32) recode dh05 (0 999 = -32) recode wght* (10 = 0) generate year = 2014 } * ALLBUS 2016 - Variable year Erhebungsjahr generieren capture assert za_nr == 5250 if !_rc { generate year = 2016 } * ALLBUS 2018 - Variable year Erhebungsjahr generieren capture assert za_nr == 5270 if !_rc { generate year = 2018 } capture assert za_nr != 4614 & za_nr != 5240 if !_rc { keep za_nr year respid eastwest sex yborn mborn age german mstat dp01 /// dp02 dp03 dp04a dh01 dh03 dh04 dh09 hh?kin hh?sex hh?mstat hh?age dh05 /// dh07 dh08 dk0? wght* } ******************************************************************************** /*** *************************************************************************** ## Erstellung __dh12__ LEBENSFORM BEFRAGTE KURZ ***/ ******************************************************************************** ******************************************************************************** /*** Zunächst Erstellung von Hilfsvariablen zu fehlenden Werten in Angaben der Haushaltsliste, zu Partner, und zu Ehepartner im Haushalt. ***/ egen hhmiss = anycount(hh?kin dh01 dh04), value(-99, -42, -41, -32, -9, -8, -7) egen ehepartner= anymatch(hh?kin), value(1) // Partner im Haushalt egen partner= anymatch(hh?kin), value(2) * Bei eingetragenen Lebenspartnerschaften (lt. mstat) wird der Partner im Haushalt als Ehepartner gewertet. replace ehepartner = 1 if (partner == 1 & mstat == 6) replace partner = 0 if (partner == 1 & ehepartner == 1 & mstat == 6) replace ehepartner = -32 if ehepartner == 0 & hhmiss > 0 // bei fehlenden Werten kann man nicht sicher ausschließen, //dass ein Partner im Haushalt lebt. Daher Kodierung auf fehlenden Wert. replace partner = -32 if partner == 0 & hhmiss > 0 // bei fehlenden Werten kann man nicht sicher ausschließen, //dass ein Partner im Haushalt lebt. Daher Kodierung auf fehlenden Wert. egen partner8082= anymatch(hh?kin), value(17) replace partner8082 = -32 if partner8082 == 0 & hhmiss > 0 // bei fehlenden Werten kann man nicht sicher ausschließen, //dass ein Partner im Haushalt lebt. Daher Kodierung auf fehlenden Wert. replace partner8082 = -1 if year > 1982 /*** Erstellung von dh12 LEBENSFORM BEFRAGTE - KURZ ***/ generate dh12 = 0 label define dh12 /// 11 "LF1 EHEPAAR" /// 21 "LF2 NEL,B:LED." /// 22 "LF2 NEL,B:NACHEHE" /// 31 "LF3 K.PART(<86)B:LED" /// 32 "LF3 K.PART(<86)B:N.EHE" /// 33 "LF3 K.PART,B:VERH." /// 41 "LF4 LAT,B:LED." /// 42 "LF4 LAT,B:NACHEHE" /// 51 "LF5 K.PART,B:LED." /// 52 "LF5 K.PART,B:NACHEHE" /// -32 "NICHT GENERIERBAR", modify label variable dh12 "LEBENSFORM BEFRAGTE - KURZ" label values dh12 dh12 replace dh12 = -32 if inlist(dh01, -32, -9) replace dh12 = -32 if inlist(dh04, -32, -9) replace dh12 = -32 if mstat < 0 replace dh12 = -32 if inlist(dp01, -41, -9, -8, -7) /*** *Ab 1986 kann dh12 für alle ALLBUS-Erhebungen ohne Einschränkungen generiert werden. ***/ replace dh12 = 11 if ehepartner == 1 & year > 1984 replace dh12 = 21 if partner == 1 & mstat == 5 & year > 1984 replace dh12 = 22 if partner == 1 & inlist(mstat, 2, 3, 4, 7, 8, 9) & year > 1984 replace dh12 = 33 if ehepartner == 0 & partner == 0 & mstat == 1 & year > 1984 replace dh12 = 33 if ehepartner == 0 & partner == 0 & mstat == 6 & year > 1984 replace dh12 = 41 if mstat == 5 & partner == 0 & ehepartner == 0 & dp01 == 1 & year > 1984 replace dh12 = 42 if inlist(mstat, 2, 3, 4, 7, 8, 9) & partner == 0 & ehepartner == 0 & dp01 == 1 & year > 1984 replace dh12 = 51 if mstat == 5 & partner == 0 & ehepartner == 0 & dp01 == 2 & year > 1984 replace dh12 = 52 if inlist(mstat, 2, 3, 4, 7, 8, 9) & partner == 0 & ehepartner == 0 & dp01 == 2 & year > 1984 /*** *1980-1982 wurden noch keine haushaltsübergreifenden ("living-apart-together", LAT) Paarbeziehungen erhoben. Daher wird für diese Erhebungsjahre nur abgebildet, ob eine Paarbeziehung im Haushalt besteht (Codes 11, 21, 22) oder ob keine Paarbeziehung im Haushalt besteht (Alleinlebend, Codes 31, 32). Außerdem wurden Ehegatten und nicht-verheiratete Partner in einer gemeinsamen Antwortkategorie der Frage zu Verwandtschaftsbeziehungen im Haushalt erhoben (hh?kin= 17). Ehepartner und nicht-eheliche Paare werden daher über den Familienstand der Befragten unterschieden. ***/ replace dh12 = 11 if partner8082 == 1 & mstat == 1 & inlist(year, 1980, 1982) replace dh12 = 21 if partner8082 == 1 & mstat == 5 & inlist(year, 1980, 1982) replace dh12 = 22 if partner8082 == 1 & inlist(mstat, 2, 3, 4) & inlist(year, 1980, 1982) replace dh12 = 31 if mstat == 5 & partner8082 == 0 & inlist(year, 1980, 1982) replace dh12 = 32 if inlist(mstat, 2, 3, 4) & partner8082 == 0 & inlist(year, 1980, 1982) replace dh12 = 33 if partner8082 == 0 & mstat == 1 & inlist(year, 1980, 1982) /*** 1984 wurden noch keine haushaltsübergreifenden ("living-apart-together", LAT) Paarbeziehungen erhoben. Daher wird für die Jahre 1980-1984 nur abgebildet, ob eine Paarbeziehung im Haushalt besteht oder ob keine Paarbeziehung im Haushalt besteht (Alleinlebend). Personen ohne Partner im Haushalt werden für die Erhebungsjahre 1980, 1982, 1984 auf die Codes 31 und 32 kodiert. ***/ replace dh12 = 11 if ehepartner == 1 & year == 1984 replace dh12 = 21 if partner == 1 & mstat == 5 & year == 1984 replace dh12 = 22 if partner == 1 & inlist(mstat, 2, 3, 4 ) & year == 1984 replace dh12 = 31 if mstat == 5 & partner == 0 & ehepartner == 0 & year == 1984 replace dh12 = 32 if inlist(mstat, 2, 3, 4) & partner == 0 & ehepartner == 0 & year == 1984 replace dh12 = 33 if ehepartner == 0 & partner == 0 & mstat == 1 & year == 1984 /*** Die übrigen Fälle ohne gültigen Wert auf der Zielvariablen haben auf einer oder auf mehreren Ursprungsvariablen fehlende Werte. ***/ replace dh12 = -32 if dh12 == 0 ******************************************************************************** ******************************************************************************** /*** *************************************************************************** ## Erstellung __dh16__ EIG. KINDER IM HAUSHALT: LEDIG, N.LEDIG ***/ ******************************************************************************** ******************************************************************************** /*** Erstellung einer Hilfsvariable, die angibt, ob es sich bei einer Haushaltsperson um ein (leibliches, Stief-, Adoptiv-, oder Pflege-) Kind der befragten Person handelt. ***/ foreach n in 2 3 4 5 6 7 8 { generate hh`n'kid = .a replace hh`n'kid = 0 if inrange(hh`n'kin, 1, 18) replace hh`n'kid = 1 if inlist(hh`n'kin, 3, 4) } /*** Erstellung einer Hilfsvariable, die den Familienstand des Kindes angibt ***/ foreach n in 2 3 4 5 6 7 8 { clonevar hh`n'kid_mstat = hh`n'mstat if hh`n'kid == 1 replace hh`n'kid_mstat = 5 if inlist(hh`n'mstat, -9, -7, -33) & hh`n'kid == 1 & inrange(hh`n'age, 0, 15) // Kinder < 16 werden als ledig kodiert } /*** Erstellung einer Hilfsvariable, die die Anzahl von Kindern der befragten Person im Haushalt angibt. ***/ egen anzkid = rowtotal(hh?kid) replace anzkid = -32 if anzkid == 0 & hhmiss > 0 /*** Erstellung von dh16 EIG. KINDER IM HAUSHALT: LEDIG, N.LEDIG ***/ generate dh16 = -999 label define dh16 -32 "NICHT GENERIERBAR" 0 "KEINE KINDER IM HH" 1 "NUR LED. KINDER" 2 "LED. & N.LED. KINDER" 3 "NUR N.LED. KINDER", modify label variable dh16 "EIG. KINDER IM HAUSHALT: LEDIG, N.LEDIG" label values dh16 dh16 replace dh16 = 0 if anzkid == 0 egen tmp_nledk = anycount(hh?kid_mstat), val(1, 2, 3, 4, 6, 7, 8, 9) egen tmp_ledk = anycount(hh?kid_mstat), val(5) replace dh16 = 1 if tmp_ledk > 0 & tmp_nledk == 0 replace dh16 = 2 if tmp_ledk > 0 & tmp_nledk > 0 replace dh16 = 3 if tmp_ledk == 0 & tmp_nledk > 0 drop tmp* /*** Die übrigen Fälle ohne gültigen Wert auf der Zielvariablen haben fehlende Werte oder inkonsistente Angaben auf den Ursprungsvariablen. ***/ replace dh16 = -32 if dh16 == -999 ******************************************************************************** ******************************************************************************** /*** *************************************************************************** ## Erstellung __dh13__ LEBENSFORM BEFRAGTE - FAMILIE ***/ ******************************************************************************** ******************************************************************************** ******************************************************************************** generate dh13 = 0 label define dh13 /// 111 "KL1 EHEPAAR" /// 121 "KL2 NEL,B:LED." /// 122 "KL2 NEL,B:NACHEHE" /// 131 "KL3 K.PART(<86)B:LED" /// 132 "KL3 K.PART(<86)B:N.EHE" /// 133 "KL3 K.PART,B:VERH." /// 141 "KL4 LAT,B:LED." /// 142 "KL4 LAT,B:NACHEHE" /// 151 "KL5 K.PART,B:LED." /// 152 "KL5 K.PART,B:NACHEHE" /// 211 "F1 EHEPAAR+KIND" /// 221 "F2 NEL+KIND,B:LED" /// 222 "F2 NEL+KIND,B:N.EHE" /// 231 "F3 K.PART+K(<86)B:LED" /// 232 "F3 K.PART+K(<86)B:N.EHE" /// 233 "F3 K.PART+K,B:VERH." /// 241 "F4 LAT+KIND,B:LED." /// 242 "F4 LAT+KIND,B:N.EHE" /// 251 "F5 K.PART+KIND,B:LED" /// 252 "F5 K.PART+K,B:N.EHE" /// -32 "NICHT GENERIERBAR", modify label variable dh13 "LEBENSFORM BEFRAGTE - FAMILIE" label values dh13 dh13 replace dh13 = dh12 + 100 if dh16 == 0 & dh12 > 0 replace dh13 = dh12 + 200 if anzkid > 0 & dh12 > 0 replace dh13 = -32 if dh12 == -32 replace dh13 = -32 if dh12 > 0 & anzkid == -32 ******************************************************************************** ******************************************************************************** /*** *************************************************************************** ## Erstellung __dh14__ LEBENSFORM NACH MIKROZENSUS-TYPOLOGIE ***/ ******************************************************************************** ******************************************************************************** /*** Die amtliche Statistik bietet auf Basis des Mikrozensus Informationen über die Verbreitung verschiedener Lebensformen in der deutschen Bevölkerung. In einem Haushalt können prinzipiell mehrere Lebensformen/Familien bestehen (z.B. die Lebensform der im ALLBUS befragten Person, die Lebensform der nicht-befragten Eltern oder die Lebensform der nicht-befragten Kinder). Da im ALLBUS nicht die komplette Haushaltsstruktur erhoben wird (mit Informationen darüber, wie sämtliche Haushaltsmitglieder miteinander verwandt sind), sondern nur die Verwandtschaftsbeziehung der Haushaltsmitglieder zur befragten Person, lässt sich im ALLBUS die Anzahl an Lebensformen in einem Haushalt in manchen Fällen nicht sicher bestimmen. Beispielsweise lassen sich, sobald mehrere Kinder der Befragten im Haushalt leben, ein Schwiegerkind oder Enkel im Haushalt nicht bestimmten Befragtenkindern als Partner oder Kind zuordnen. Dies wäre aber notwendig, um die Anzahl an Lebensformen im Haushalt zu bestimmen. Aus diesem Grund wird hier lediglich die Lebensform der Befragten rekonstruiert. Lediglich die Gruppe der ledigen Befragten, die im elterlichen Haushalt leben, wird separat gekennzeichnet und kann hierdurch für Analysen auch der Lebensform ihrer Eltern zugewiesen werden. Eine weitere Beschränkung ist, dass der amtlichen Statistik und dem ALLBUS eine unterschiedliche Zählweise von Kindern im Haushalt zu Grunde liegt. Als Kinder zählen im Mikrozensus __ledige Personen__ (ohne Altersbegrenzung) mit __mindestens einem Elternteil__ und __ohne Lebenspartner__ bzw. __ohne eigene ledige Kinder__ im Haushalt. Im ALLBUS können zwar ledige und nicht-ledige Kinder der Befragten im Haushalt identifiziert werden, es bestehen aber die genannten Zuordnungsprobleme hinsichtlich der Identifikation von Ehe- oder Lebenspartnern und Kindern der Befragtenkinder (also bspw. Schwiegerkindern und Enkeln der Befragten). Diese Diskrepanz bei der Definition von Kindern im ALLBUS und im Mikrozensus muss bei Vergleichen der Randverteilungen berücksichtigt werden. Die Variable zur Anzahl verschiedener Generationen im Haushalt der Befragten (dh15) kann gegebenenfalls dazu genutzt werden, Diskrepanzen zur Mikrozensus-Typologie abzuschätzen und zu beurteilen. ***/ ******************************************************************************** /*** Erstellung einer Hilfsvariablen zur Anzahl der Elternteile im Haushalt ***/ egen eltern = anycount(hh?kin), value(8, 9) replace eltern = -41 if eltern > 2 & eltern < . replace eltern = -32 if eltern == 0 & hhmiss > 0 label variable eltern "ANZAHL ELTERNTEILE IM HAUSHALT" /*** Erstellung von Hilfsvariablen zum Familienstand der Eltern der Befragten ***/ foreach n in 2 3 4 5 6 7 8 { generate hh`n'elter = 0 replace hh`n'elter = 1 if inlist(hh`n'kin, 8, 9) // Stiefelternteil erst ab 1990 replace hh`n'elter = -41 if eltern == -41 } foreach n in 2 3 4 5 6 7 8 { clonevar hh`n'elter_mstat = hh`n'mstat if hh`n'elter == 1 replace hh`n'elter_mstat = -41 if eltern == -41 } /*** Hilfsvariable: Anzahl verheirateter Elternteile ***/ egen elternvh = anycount(hh?elter_mstat), value(1) /*** Hilfsvariablen Familienstand erstes und zweites Elternteil ***/ egen eltermstat1 = rowfirst(hh?elter_mstat) egen eltermstat2 = rowlast(hh?elter_mstat) label val eltermstat1 hh2mstat label val eltermstat2 hh2mstat /*** *************************************************************************** Erstellung __dh14__ LEBENSFORM NACH MIKROZENSUS-TYPOLOGIE ***/ generate dh14 = 0 label variable dh14 "LEBENSFORM NACH MIKROZENSUS-TYPOLOGIE" label define dh14 /// 1 "EHEPAAR, KINDERL" /// 2 "NEL, KINDERL" /// 3 "ALLEIN.LED.KINDERL" /// 4 "ALLEIN.N.LED,KINDERL" /// 5 "EHEPAAR +LED. KIND" /// 6 "NEL +LED.KIND" /// 7 "ALLEINERZ. LED." /// 8 "ALLEINERZ.GETR/GESCH" /// 9 "ALLEINERZ. VERWITWET" /// 15 "EHEPAAR +LED.K.,B:K." /// 16 "NEL +LED. KIND,B:K." /// 17 "ALLEINERZ.LED.,B:K." /// 18 "A.-ERZ.GET./GSCH.B:K" /// 19 "ALLEINERZ.VERW.,B:K." /// -32 "NICHT GENERIERBAR", modify label values dh14 dh14 replace dh14 = 1 if dh12 == 11 & inlist(dh16, 0, 3) replace dh14 = 2 if partner == 1 & inlist(mstat, 2, 3, 4, 5, 7, 8, 9) & inlist(dh16, 0, 3) & year > 1982 replace dh14 = 2 if partner8082 == 1 & inlist(mstat, 2, 3, 4, 5) & inlist(dh16, 0, 3) & inlist(year, 1980, 1982) replace dh14 = 3 if mstat == 5 & partner == 0 & ehepartner == 0 & inlist(dh16, 0, 3) & eltern == 0 & year >1982 replace dh14 = 3 if mstat == 5 & partner8082 == 0 & inlist(dh16, 0, 3) & eltern == 0 & inlist(year, 1980,1982) replace dh14 = 4 if inlist(mstat, 1, 2, 3, 4, 6, 7, 8, 9) & partner == 0 & ehepartner == 0 & inlist(dh16, 0, 3) & year > 1982 replace dh14 = 4 if inlist(mstat, 1, 2, 3, 4) & partner8082 == 0 & inlist(dh16, 0, 3) & inlist(year,1980, 1982) replace dh14 = 5 if dh12 == 11 & inlist(dh16, 1, 2) replace dh14 = 6 if partner == 1 & inlist(mstat, 2, 3, 4, 5, 7, 8, 9) & inlist(dh16, 1, 2) & year > 1982 replace dh14 = 6 if partner8082 == 1 & inlist(mstat, 2, 3, 4, 5) & inlist(dh16, 1, 2) & inlist(year, 1980, 1982) replace dh14 = 7 if inlist(mstat, 5) & partner == 0 & ehepartner == 0 & inlist(dh16, 1, 2) & year > 1982 replace dh14 = 7 if inlist(mstat, 5) & partner8082 == 0 & inlist(dh16, 1, 2) & inlist(year,1980, 1982) replace dh14 = 8 if inlist(mstat, 2, 4, 7, 9) & partner == 0 & ehepartner == 0 & inlist(dh16, 1, 2) & year > 1982 replace dh14 = 8 if inlist(mstat, 2, 4, 7, 9) & partner8082 == 0 & inlist(dh16, 1, 2) & inlist(year,1980, 1982) replace dh14 = 9 if inlist(mstat, 3, 8) & partner == 0 & ehepartner == 0 & inlist(dh16, 1, 2) & year > 1982 replace dh14 = 9 if inlist(mstat, 3, 8) & partner8082 == 0 & inlist(dh16, 1, 2) & inlist(year,1980, 1982) replace dh14 = 10 if mstat == 5 & partner == 0 & ehepartner == 0 & inlist(dh16, 0, 3) & (eltern > 0 & eltern < .) /// & year >1982 replace dh14 = 10 if mstat == 5 & partner8082 == 0 & inlist(dh16, 0, 3) & (eltern > 0 & eltern < .) /// & inlist(year, 1980,1982) //alleinstehend, ledig, keine Kinder --> bei Eltern lebend replace dh14 = -32 if mstat < 0 | inlist(dh16, -32) | inlist(eltern, -41, -32 ) replace dh14 = -32 if dh14 == 10 & eltern < 0 // Fehlende Werte bei Angaben zu Eltern replace dh14 = -32 if dh14 == 10 & eltern == 1 & eltermstat1 == 1 // 1 Elternteil, aber Familienstand "Verheiratet, zusammenlebend" replace dh14 = -32 if dh14 == 10 & (eltermstat1 == -9 | eltermstat2 == -9) // Familienstand der Eltern ist unbekannt replace dh14 = 15 if dh14 == 10 & eltern == 2 & elternvh == 2 replace dh14 = 16 if dh14 == 10 & eltern == 2 & inlist(elternvh, 0, 1) replace dh14 = 17 if dh14 == 10 & eltern == 1 & eltermstat1 == 5 replace dh14 = 18 if dh14 == 10 & eltern == 1 & inlist(eltermstat1, 2, 4, 7, 9) replace dh14 = 19 if dh14 == 10 & eltern == 1 & inlist(eltermstat1, 3, 8) /*** Die übrigen Fälle ohne gültigen Wert auf der Zielvariablen haben fehlende Werte oder inkonsistente Angaben auf den Ursprungsvariablen, oder Merkmalskombinationen, die für die Mikrozensustypologie nicht definiert sind. ***/ replace dh14 = -32 if dh14 == 0 ******************************************************************************** ******************************************************************************** /*** ## Erstellung __dh15__ MEHRGENERATIONEN-HAUSHALT ***/ ******************************* ******************************************************************************** /*** Erstellung von Hilfsvariablen zu Angehörigen verschiedener Generationen im Haushalt ***/ egen parent_gen = anymatch(hh?kin), value(8, 9, 10) //Eltern & Schwiegereltern replace parent_gen = -32 if hhmiss> 0 label variable parent_gen "ELTERNGENERATION IM HH (BEFRAGTENPERSPEKTIVE)" egen kid_gen = anymatch(hh?kin), value(3, 4, 11) //Kinder & Schwiegerkinder replace kid_gen = -32 if hhmiss> 0 label variable kid_gen "KINDGENERATION IM HH (BEFRAGTENPERSPEKTIVE)" egen grandch_gen= anymatch(hh?kin), value(7) replace grandch_gen = -32 if hhmiss > 0 label variable grandch_gen "ENKEL IM HH (BEFRAGTENPERSPEKTIVE)" egen gramps_gen = anymatch(hh?kin), value(13, 14) // Großeltern der Befragten oder der Partner replace gramps_gen = -32 if hhmiss> 0 label variable gramps_gen "GROSSELTERNGENERATION IM HH (BEFRAGTENPERSPEKTIVE)" egen resp_gen = anymatch(hh?kin), value(1, 2, 17, 5, 6, 12) //Partner, Geschwister, Schwager replace resp_gen = -32 if hhmiss> 0 label variable resp_gen "BEFRAGTENGENERATION IM HH" egen other_pers = anymatch(hh?kin), value(15, 16) replace other_pers = -32 if hhmiss> 0 label variable other_pers "ANDERE (VERWANDT/NICHT-VERWANDT) IM HH (BEFRAGTENPERSPEKTIVE)" label define anz_gen -10 "TNZ: FILTER" -32 "NICHT GENERIERBAR" -41 "DATENFEHLER" label values *_gen other_pers anz_gen generate anz_gen = 1 replace anz_gen = 1 + gramps_gen + parent_gen + kid_gen + grandch_gen if gramps_gen >= 0 & parent_gen >= 0 & kid_gen >= 0 & grandch_gen >= 0 replace anz_gen = -32 if hhmiss> 0 /*** *************************************************************************** Erstellung __dh15__ MEHRGENERATIONEN-HAUSHALT ***/ generate dh15 = 10 if dh01 == 2 replace dh15 = 11 if anz_gen == 1 & resp_gen == 1 replace dh15 = 20 if anz_gen == 2 replace dh15 = 30 if anz_gen == 3 replace dh15 = 40 if anz_gen == 4 replace dh15 = 60 if anz_gen == 1 & other_pers == 1 //wenn andere im Haushalt wohnen und nur eine Generation, wird auf WG kodiert. replace dh15 = -32 if hhmiss> 0 label variable dh15 "MEHRGENERATIONEN-HAUSHALT" label define dh15 10 "EINPERSONEN-HH" /// 11 "EIN-GENERATIONEN-HH" /// 20 "ZWEI-GENERATIONEN-HH" /// 30 "DREI-GENERATIONEN-HH" /// 40 "VIER-GENERATIONEN-HH" /// 60 "WG VERW./NICHT-VERW." /// -32 "NICHT GENERIERBAR", modify label values dh15 dh15 ********************************************************************************* ******************************************************************************** /*** ## Erstellung __dh17__ ALTER JUENGSTES HAUSHALTSMITGLIED ***/ ******************************************************************************** ******************************************************************************** clonevar hh1age = age recode hh?age (-10 = .t) egen dh17 = rowmin(hh?age) replace dh17 = -32 if dh04 == -32 recode hh?age (.t = -10) label var dh17 "ALTER JUENGSTES HAUSHALTSMITGLIED" label define dh17 /// -32 "NICHT GENERIERBAR" /// -10 "TNZ: FILTER" /// 0 "UNTER 1 JAHR", modify label values dh17 dh17 ******************************************************************************** ******************************************************************************** /*** ## Erstellten Datensatz abspeichern ***/ ******************************************************************************** ******************************************************************************** drop hhmiss ehepartner partner partner8082 hh?kid* anzkid eltern hh?elter* elternvh eltermstat1 eltermstat2 parent_gen *_gen other_pers hh1age order dh12 dh13 dh14 dh15 dh16 dh17 , last *save `outfile', replace