Seite 1 von 1

Datenmanagement

BeitragVerfasst: Fr 19. Jun 2020, 22:00
von Mimimiriam
Hallo liebe Aktiven im Stata-Forum,

da das mein erster Beitrag ist, hoffe ich, dass ich alles "richtig" mache. Als ersten Hinweis: ich nutze Stata 16.

Ich habe einen Datensatz im Long-Format und möchte eine Variable aus Informationen verschiedener Zeilen bilden. Hier eine grobe Visualisierung:

| Haushalt | ID | fam | famtyp |
| 1 | 1 | Vater | typ1 |
| 1 | 2 | Mutt. | typ1 |
| 1 | 3 | Kind | typ1 |
| 2 | 1 | Vater | typ1 |
| 2 | 2 | Brud. | typ2 |
| 2 | 3 | Kind | typ2 |
| 3 | 1 | Vater | typ3 |
| 3 | 1 | Mutt. | typ3 |
| 3 | 1 | Schw. | typ3 |
| 3 | 1 | Kind | typ3 |
| 4 | 1 | Vater | typ1 |
| 4 | 1 | Kind | typ5 |

Der Datensatz besteht also aus verschiedenen Familienmitgliedern, die jeweils in einer Zeile repräsentiert sind.
Ich möchte eine Variable "famtyp" (letzte Spalte) erstellen, die verschiedene Familientypen unterscheidet. Z.B. soll ein Haushalt, in dem auch die Schwester wohnt, einem anderen Typ zugeordnet werden, als die "klassische" Familie mit zwei Elternteilen.
Mir ist nicht klar, wie ich diese Variableninformation auf alle Zeilen zuordne.
Wie kann mir das gelingen?

Vielen Dank!

Ich freue mich sehr über Tipps!

Re: Datenmanagement

BeitragVerfasst: Sa 20. Jun 2020, 14:20
von Staxa
Ganz verstehe ich dein Beispiel nicht, da in Familie 2 offenbar 2 verschiedene Typen gleichzeitig sind, aber so wie ich das sehe sollen ja diese Typenklassifizierungen innerhalb einer Familie konstant sein, Wie dem auch sei, du wirst hier etwa egen benutzen müssen (help egen). Ein Beispiel: Angenommen, "Schwester" wird mit 5 kodiert, dann kannst du es wie folgt machen

Code: Alles auswählen
gen schwestervorhanden = 1 if  fam == 5
replace schwestervorhanden = 0 if missing(schwestervorhanden)
bysort Haushalt: egen schwesterinfamilie = max(schwestervorhanden)
replace typ = 99 if schwesterinfamilie == 1


Zur Kontrolle dann etwa:
Code: Alles auswählen
sort familienid
list familienid typ VAR VAR VAR in 1/50, sepby(familienid)


Mit typ wird dann also die Zuordnung angegeben. Auf diese Weise würde ich zuerst prüfen, ob gewisse Personen oder Konstellationen erfüllt sind, dann daraus eine Indikatorvariable bauen und das dann mit bysort und egen auf die ganze Familie hochrechnen. Am Anfang etwas kompliziert, aber mit etwas Übung und Erfahrung ist es nicht schwierig.

Re: Datenmanagement

BeitragVerfasst: Di 7. Jul 2020, 09:29
von Mimimiriam
Danke für die Antwort!