Variable mit dem kleinsten, zweitkleinsten, ... Wert wählen

Fragen zu Stata Syntax und Do-Files.

Variable mit dem kleinsten, zweitkleinsten, ... Wert wählen

Beitragvon Leviathan » Do 29. Mai 2014, 22:20

Hallo liebe Forenmitglieder,

ich würde mich freuen, wenn Ihr mir helfen könntet.

Ich habe 10 (a bis j) Variablen mit den gleichen Antwortkategorien, die Angaben über die Haushaltsmitglieder machen. Ich benötige dabei die Kategorie 2 - eigene Kinder. Später habe ich Angaben über das Geburtsdatum dieser 10 Personen in Variablenform (a bis j). Ich bräuchte nun für die Zensierung der Fälle den kleinsten, zweitkleinsten, drittkleinsten usw. Wert, um Informationen über das erste, zweite und dritte Kind zu erhalten. Wie könnte ich da vorgehen? Wie bereits angedeutet: Die Personen in der ersten Variable sind nicht nach dem Alter geordnet. Da kann unter b der Großvater, die Schwiegermutter oder sonst wer sein und das zweite Kind z.B. erst unter f genannt werden. Im Prinzip müssten doch die Geburtsdaten der zweiten Variable miteinander Verglichen werden (mit Bedingung der ersten Variable, dass es die Kinder sind) und dann die Auswahl stattfinden... oder?

Danke für die Hilfe!
Leviathan
 
Beiträge: 6
Registriert: Mo 14. Apr 2014, 02:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon daniel » Fr 30. Mai 2014, 09:58

Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon Leviathan » So 1. Jun 2014, 20:30

Sorry, das überfordert mich irgendwie gerade.

Noch einmal zu meinen Variablen, die folgendermaßen strukturiert sind:


Haushaltsmitglieder:

f10200a Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
f10200b Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
f10200c Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
f10200d Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
f10200e Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
f10200f Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
f10200g Ausprägung: 1 = Partner, 2 leibliches Kind, 3 = Stiefmutter, 4 = Großvater, ...... 9999 = keine Angabe
....
usw.

Geburtsdatum der Haushaltsmitglieder:

f10400a Ausprägung: metrisch (also vierstellig für das Geburtsjahr)
f10400b Ausprägung: metrisch
f10400c Ausprägung: metrisch
f10400d Ausprägung: metrisch
f10400e Ausprägung: metrisch
f10400f Ausprägung: metrisch
f10400g Ausprägung: metrisch
...
usw.

Aus diesen beiden Variablen möchte ich nun das erste, zweite und dritte leibliche Kind der jeweiligen Person sowie sein Geburtsdatum ermitteln.

Wie gesagt, es handelt sich nicht um irgendwelche Reihenfolgen.
Personen können z.B. solche Angaben machen:

Person 1 (3 Leute im HH):
f10200a Ausprägung: 1 = Partner
f10200b Ausprägung: 2 = leibliches Kind
f10200c Ausprägung: 4 = Großvater

Person 2 (5 Leute im HH):
f10200a Ausprägung: 2 = leibliches Kind
f10200b Ausprägung: 2 = leibliches Kind
f10200c Ausprägung: 2 = leibliches Kind
f10200d Ausprägung: 3 = Stiefmutter
f10200e Ausprägung: 6 = irgendeine andere Person


Variablen zu den Geburtsdaten:

Person 1:
f10400a = 1978
f10400b = 2004
f10400c = 1938

Person 2:
f10400a = 2001
f10400b = 2000
f10400c = 2005
f10400d = 1959
f10400e = 1961


Wie kann ich jetzt das erste, zweite, dritte, ...., Kind der befragten Personen ermitteln. Noch einmal zum Verständnis: Die befragte Person ist dort nicht enthalten, sondern nur die weiteren Haushaltsmitglieder.

Danke!
Leviathan
 
Beiträge: 6
Registriert: Mo 14. Apr 2014, 02:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon daniel » Mo 2. Jun 2014, 11:31

Aus diesen beiden Variablen möchte ich nun das erste, zweite und dritte leibliche Kind der jeweiligen Person sowie sein Geburtsdatum ermitteln.


Und in welcher Form soll diese Information in die bestehende Datenstruktur eingebettet werden? Und zu welchem Zweck willst Du das machen? Ich frage deshalb so viel nach, weil es sehr viele Möglichkeiten gibt.

Ein Ansatz könnte sein

(1) jeweils a, b, c, .. in den Variablennamen durch 1, 2, 3, .. zuersetzen
(2) die Dauen mitttels -reshape- ins lange Format zu überführen (mehrere Zeilen pro Haushalt)
(3) nach Haushaltsmitglied und Geburtsjahr zu sortieren

Möglicherweise wäre es auch sinnvoll, in einem ersten Schritt nur die Kinder zu behalten, die dann nach Geburtsjahr zu sortieren und anschließend mittels -merge- an den jeweiligen Haushalt anzuspielen.

Wie sinnvoll das Vorgehen wäre, ist nicht zuletzt von den geplanten Analysen abhängig.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon Leviathan » Mi 4. Jun 2014, 06:11

Danke für die erneute Antwort.

Ich möchte eigentlich 3 Arten von Berechnungen durchführen:

1. Kaplan-Meier-Funktionen für jedes leibliche Kind, wofür ich ja die entsprechende Zensierungsvariable konstruieren muss.
Also wann wurde jedes Kind geboren (das jüngste, das zweitjüngste, usw.)?
2. ANOVAs für das jeweilige Kind im Haushalt
3. ...und lineare Regressionen für Haushalte mit Kindern.

Die Berechnungen erfolgen dann jeweils für Haushalte mit einem leiblichen Kind, mit zwei leiblichen Kindern und so weiter.

Voraussetzung ist dementsprechend die richtige Auswahl der Kinder anhand ihres Geburtsdatums.
Leviathan
 
Beiträge: 6
Registriert: Mo 14. Apr 2014, 02:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon daniel » Mi 4. Jun 2014, 10:30

Dann wäre wohl mein Vorschlag sinnvoll, oder? Du benötigst dann die Variablen im langen Format (i.e. ein Haushalt hat soviele Zeilen, wie Kinder).
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon Leviathan » Do 5. Jun 2014, 02:07

daniel hat geschrieben:Dann wäre wohl mein Vorschlag sinnvoll, oder? Du benötigst dann die Variablen im langen Format (i.e. ein Haushalt hat soviele Zeilen, wie Kinder).


Vielen Dank!

Könnte funktionieren. Wäre es denn nicht möglich, lediglich die Schritte (2) und (3) auszuführen und den Punkt (1) wegzulassen?

Und Punkt (2) heißt im Prinzip, die Anzahl der Kinder zu ermitteln, um dann das älteste, jüngste, usw. zu ermitteln? Ginge das nicht auch in der jetzigen Variablenform irgendwie (wenn die Variablenkategorie gleich 2 ist)?
Leviathan
 
Beiträge: 6
Registriert: Mo 14. Apr 2014, 02:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon daniel » Do 5. Jun 2014, 12:03

Wäre es denn nicht möglich, lediglich die Schritte (2) und (3) auszuführen und den Punkt (1) wegzulassen?


Wo liegt das Problem mit diesem Punkt? Bin nicht sicher, ob -reshape- das auch mittels fortlaufender Buchstaben macht.

Und Punkt (2) heißt im Prinzip, die Anzahl der Kinder zu ermitteln, um dann das älteste, jüngste, usw. zu ermitteln? Ginge das nicht auch in der jetzigen Variablenform irgendwie (wenn die Variablenkategorie gleich 2 ist)?


Klar ginge das auch - aber komplizierter/umständlicher. Und gegebn, dass die Daten für die Analysen (soweit ich sehe) ohnehin ins lange Format müssen, wozu der Umstand?
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon Leviathan » Fr 6. Jun 2014, 05:31

Gut, im Prinzip nachvollziehbar... Aber um die Bedingung "gleich 2" komme ich ja nicht herum, oder?
Und damit ich es nicht falsch verstehe, die Buchstaben nur bei der Geburtsjahr-Variable ersetzen?

Wie wähle ich jetzt das jüngste, zweitjüngste, usw. Kind aus? Beispielsweise schon in einer Zensierungsvariable... Das Programm müsste im Falle einer Sortierung ja selbst erkennen wie viele Kinder im HH vorhanden sind.

Generate census_variable = 0
replace .... oder mit "sort"?
.....
.....
.....


PS: Würde Dir ja gern und endlich einmal ein "Danke" geben wollen, finde die Funktion hier aber leider nicht. :-(
Leviathan
 
Beiträge: 6
Registriert: Mo 14. Apr 2014, 02:42
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable mit dem kleinsten, zweitkleinsten, ... Wert wäh

Beitragvon daniel » Fr 6. Jun 2014, 12:15

Leider ist es ohne Beispiel sehr schwer spezifischer zu werden. Ich kann bestenfalls Dein "Beispiel" aufgreifen und den Ansatz meies Vorschlags replizierbar skizzieren.

Code: Alles auswählen
// create toy dataset (this is your example from above)
clear
inp hhid f10200a f10200b f10200c f10200d f10200e f10400a f10400b f10400c f10400d f10400e
1 1 2 4 . . 1978 2004 1938 . .
2 2 2 2 3 6 2001 2000 2005 1959 1961
end

// look at the data
l

// now rename the relevant variables
ren (f10200?)(f10200#) ,renum
ren (f10400?)(f10400#) ,renum

// get it into long shape
reshape long f10200 f10400 ,i(hhid)

l

// keep the kids only
keep if (f10200 == 2)

l

// birth order
bys hhid (f10400) : g kid_nr = ((_N + 1) - _n)

l


Hier sind fast sicher viele Anpassungen nötig (weitere variablne umbenenn und umformen, die Kinderdaten wieder an den Komplettdatensatz anspielen, etc.), die ich ohne die Daten zu kennen nicht einschätzen kann. Ich hoffe aber, die Idee hinter dem Ansatz wird klar.
Stata is an invented word, not an acronym, and should not appear with all letters capitalized: please write “Stata”, not “STATA”.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Nächste

Zurück zu Stata Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste

cron