Zählen wie lange Single vor Beziehung

Fragen zu Stata Syntax und Do-Files.

Zählen wie lange Single vor Beziehung

Beitragvon MariaS » Di 16. Apr 2013, 16:37

Hallo liebes Forum,
Ich arbeite gerade mit einem Panel-Datensatz im long-Format und komme bei einer Frage nicht weiter. Eigentlich ist es ganz einfach: Ich möchte zählen, wie lange jemand jeweils Single war, bevor er eine neue Beziehung angefangen hat. Pid ist dabei die Personen-ID, svyyear das Survey-Jahr und partnerschaft gibt den Beziehungsstatus an (0=keine Partnerschaft; 1 Fester Partner, nicht im Datensatz; 2 Fester Partner im Datensatz). Endziel dieser Variablen ist es, Aussagen treffen zu können, wie "Durchschnittlich sind die Befragten X Jahre Single, bevor sie eine neue Beziehung anfangen."
Der Datensatz sieht z.B. so aus:
Code: Alles auswählen
pid svyyear partnerschaft
1 1987 1
2 1985 0
2 1986 0
2 1987 0
2 1988 0
2 1989 0
2 1990 1
2 1991 1
2 1992 1
2 1993 1
2 1994 1
2 1995 0
2 1996 0
2 1997 0
2 1998 1
3 1984 2


Kann mir bitte jemand helfen, denn mit count if und der Verwendung von partnerschaft[_n-1] komm ich nicht weiter...
Vielen Dank im Voraus!

Maria
MariaS
 
Beiträge: 27
Registriert: Sa 17. Nov 2012, 17:11
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zählen wie lange Single vor Beziehung

Beitragvon daniel » Di 16. Apr 2013, 22:05

Endziel dieser Variablen ist es, Aussagen treffen zu können, wie "Durchschnittlich sind die Befragten X Jahre Single, bevor sie eine neue Beziehung anfangen."


Was soll mit Personen passieren, die niemals eine Beziehung haben? Was mit denen, die über den gesamten Zeitraum in einer Beziehung sind? Wie sollen die zur "durchschnittlichen" Dauer des Single Status zählen?

Ansonsten brauchst Du doch im Prinzip nur die Anzahl der Nullen aller Personen durch die Anzahl dieser Personen teilen?
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zählen wie lange Single vor Beziehung

Beitragvon MariaS » Mi 17. Apr 2013, 09:38

Die Beispielaussage war nur als Beispiel gedacht, nicht um die Sache unnötig zu komplizieren. Die Variable selbst soll genau das machen, was ich am Anfang geschrieben habe. Am besten also wenn eine neue Beziehung angefangen wird, also partnerschaft von 0 auf 1 oder 2 wechselt, anzeigen, wie lange man vorher Single war.

Ganz am Ende möchte ich quasi untersuchen, ob die Dauer, wie lange jemand vor Beginn einer neuen Beziehung Single war, Einfluss darauf hat, dass jemand eine neue Beziehung aufnimmt. Das gesamte Forschungsthema ist natürlich viel komplexer und diese Frage nur ein Teil davon (noch dazu einer, der mir von meinem Betreuer aufgezwungen wurde). Aber ich brauche die Variable so, dass quasi beim Datensatz für vorher_Single folgende Matrix rauskommt:

Code: Alles auswählen
pid svyyear partnerschaft vorher_Single
1 1987 1 99
2 1985 0 99
2 1986 0 99
2 1987 0 99
2 1988 0 99
2 1989 0 99
2 1990 1 5
2 1991 1 99
2 1992 1 99
2 1993 1 99
2 1994 1 99
2 1995 0 99
2 1996 0 99
2 1997 0 99
2 1998 1 3
3 1984 2 99
MariaS
 
Beiträge: 27
Registriert: Sa 17. Nov 2012, 17:11
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zählen wie lange Single vor Beziehung

Beitragvon daniel » Mi 17. Apr 2013, 10:05

Ich schaue mir das am Abend nochmal an, auch wenn ich (noch immer) bereits jetzt wieder mal kritische Nachfragen stellen muss.

Was ist denn, wenn eine Person (im Bsp. die pid 2) mehr als einmal single war. Wie willst Du da den "kausalen" Effekt der Dauer des Single-Status bestimmen? Auf was? Auf die binäre Variable "in einer Beziehung"? Ich kann mir nciht vorstellen, was Du da genau vor hast.

Überhaupt frage ich micht, ob Du ein statistisches Modell im Kopf hast, wie Du diese Fragestellung beantworten willst. Es ist trivial, dass jemand, bevor er/sie eine Beziehung hat zunächst Single sein muss. Der Zusammenhang ist determinisitisch. Da gibt es (statistisch) nichts zu schätzen.

Ich frage deshalb nach, weil es eben (zumindest auf den ersten Blick) nicht ganz so trivial ist, diese Variable zu erstellen. Und wenn Du dafür den Panelcharakter der Daten gar nicht brauchst (wie gesagt, weiß ich nicht welches Modell Dir vorschwebt) weil die Variable ja bei den meisten Personen (außer solchen wie pid 2 im Bsp) ohenhin eine Konstante (und dazu noch fehelnd, Du kannst ja nicht abritär 99 einsetzen) über den gesamten Beobachtungszeitrau ist, dann lohnt der Aufwand sich mit deren Erstellung zu befassen nicht.
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zählen wie lange Single vor Beziehung

Beitragvon MariaS » Mi 17. Apr 2013, 10:48

Hallo daniel,
erstmal danke, dass du dich mit meinem Problem beschäftigst. Ob sich der Aufwand diese Variable zu bilden aus forschungstechnischer Sicht lohnt oder nicht, ist hier aber leider nicht die Frage. Ich schreibe eine Diplomarbeit zum Thema Partnerwahl ab 40, in der ich den Einfluss verschiedener Variablen auf das Eingehen einer neuen Beziehung ab Alter 40 untersuche. Im Rahmen dieser Arbeit hat meine Diplomarbeitsbetreuerin mich gebeten, doch bitte auch danach zu kontollieren, wie lange jemand vor der 40+Beziehung Single war. Dies ist nicht mein Forschungsinteresse. Ich weiß auch nicht, welchen Erkenntnisgewinn sie sich davon verspricht. Ich möchte dieser Frage auch keinen größeren Teil meiner Arbeit widmen. ABER ich möchte die Variable bilden und zumindest in einem Modell mit in die Regression einbeziehen, damit ich bei der mündlichen Verteidigung auf die Frage vorbereitet bin.
Im Übrigen muss man vor Beginn einer neuen Beziehung nicht Single sein. Der Datensatz hat gezeigt, dass es relativ viele "fliegende Wechsel" gibt, bei der keine Single-Phase vorausgegangen ist.
Den Panelcharakter brauche ich für die schlussendliche Untersuchung wirklich nicht, aber ich brauchte ihn zur Bildung verschiedener Variablen, ob z.B. eine neue Beziehung eingegangen wurde, kann ich nur mit Vorjahreswerten herausfinden.

Ich hoffe, deine Nachfragen, sind dmait geklärt und du kannst mir beim Bilden der Variable helfen.

Beste Grüße,
Maria
MariaS
 
Beiträge: 27
Registriert: Sa 17. Nov 2012, 17:11
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zählen wie lange Single vor Beziehung

Beitragvon daniel » Mi 17. Apr 2013, 11:37

Maria,

noch ein paar Fragen zwischendurch. ich setze mich heute Abend an den code.

kontollieren, wie lange jemand vor der 40+Beziehung Single war


Macht sich in der mündlichen vielleicht auch nicht schlecht mal darauf hinzuweisen, dass es natürlich völlig unsinnig ist, wenn ein und die selbe Person einmal 5, einmal 3 Jahre Single war, daraus einen Effekt der Dauer zu schätzen, weil damit natürlich sio getan wird, als seien das zwei unabhängige Beobachtungen, obgleich es die selbe Person ist. Was Du damit tust ist "between" und "within" varianz vermischen, und zwar auf eine Art und Weise, die wenn auch mathematisch keine Probleme bereitet, inhaltllich unsinnig ist. Abwer, ok, sei es drum. Verschieben wir die Frage nach der Modellierung.

Dein Problem scheint mir um einges komplexer, als Deine Beispiele implizieren. Es bringt daher wenig bis nichts, wenn ich einen code bastele, der auf das Beispiel passt. Eventuell wäre es sinnvoll, für diese Fragestellung den Datenstz umzustrukturieren, in Beziehungsspells. Das hängt aber davon ab, wie welche Fälle behandelt werden sollen.

wie lange jemand vor der 40+Beziehung Single war


Hast Du nur Personen, die 40+ sind, oder werden die im Untersuchungszeitraum 40+? Aus Deine Beispielen ist das nicht zu erkennen. Wenn die pid 2 bsp. bei Ihrer ersten Beziehung noch unter 40 war, sollen dann die 5 Jahre Single dennoch gezählt werden? Was wenn die Person innerhalb der Beziehung 40 wird?

Der Datensatz hat gezeigt, dass es relativ viele "fliegende Wechsel" gibt


Mag daran liegen, dass nur jährlich befragt wird. Sei es drum. Mein Problem ist aber eher: Dein Beispiel zeigt das nicht. Soll dann die Variable, die die Dauer erfasst 0 sein? Wenn ja in welcher Zeile des Datensatzes? Für die gesamte Beziehung oder nur in der ersten Zeile? Bitte mit Begründung, weshalb Du die Dauer in welche Zelle der Matrix schreiben willst (mit Blick auf das umzusetzende Modell ist das ermutlich wichtig, und sollte dann auc im code frühstmöglich berücksichtigt werden).
daniel
 
Beiträge: 1060
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zählen wie lange Single vor Beziehung

Beitragvon MariaS » Mi 17. Apr 2013, 18:51

Hallo,

ich habs nun endlich selbst hinbekommen! :D
Wen es interessiert:
Ich habe zunächst eine Variable definiert, die zu beginn einer Singlephase 1 und zum Ende hin 2 annimmt (mit Hilfe der Partnerschaftsvariable).
Eine weitere Hilfsvariable nimmt das Umfragejahr zum Beginn der Phase an und wird solange gleich behalten, bis die Phase endet. Am Ende (Singlephase=2) wird das aktuelle Jahr übernommen.
Nun ergibt die Differenz der Umfragejahre zum aktuellen Zeitpunkt (Singlephase=2), d.h. aktuelles Jahr minus durchgeschleiftes Start-Jahr, die "Singlejahre" der Person.
Für meine Zwecke ist dies nun völlig ausreichend und eleminiert gleichzeitig das Problem von Umfragejahren ohne Teilnahme der jeweiligen Person.

praktisch ergibt dies:
Code: Alles auswählen
** Singlephase 1...Beginn 2...Ende
gen single_phase=0
bysort pid (svyyear): replace single_phase=1 if partnerschaft==0 & partnerschaft[_n-1]!=0 & pid[_n-1]==pid
bysort pid (svyyear): replace single_phase=1 if partnerschaft==0 & teiln_jahre==0
bysort pid (svyyear): replace single_phase=2 if partnerschaft!=0 & partnerschaft[_n-1]==0 & pid[_n-1]==pid

** Hilfsvariable mit svyyear zu Beginn der Single-Phase
gen single_hilfe=0
bysort pid (svyyear): replace single_hilfe=svyyear if single_phase==1
bysort pid (svyyear): replace single_hilfe=single_hilfe[_n-1] if single_phase!=2 & single_hilfe[_n-1]!=0 & pid[_n-1]==pid
bysort pid (svyyear): replace single_hilfe=svyyear if single_phase==2 & pid[_n-1]==pid

** Singlejahre
gen single_jahre=0
bysort pid (svyyear): replace single_jahre=single_hilfe-single_hilfe[_n-1] if single_phase==2 & single_phase[_n-1]!=1 & single_hilfe[_n-1]!=0 & pid[_n-1]==pid


Vielen Dank für die Bemühungen!
Viele Grüße
Maria
MariaS
 
Beiträge: 27
Registriert: Sa 17. Nov 2012, 17:11
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Stata Syntax

Wer ist online?

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