Daten zusammenführen ohne missings

Fragen zu Stata Syntax und Do-Files.

Daten zusammenführen ohne missings

Beitragvon Hilfe » Di 14. Aug 2012, 19:26

Hallo,

ich habe folgendes Problem. Die Daten sehen wie folgt aus:







Var1 Var2 Var3 Var4
1999 . . 1999
2003 . . 2003
. 1994 . 1994
. . 2003 2003

Var1-3 liegen vor. Das Ergebnis soll wie die hier abgebildete Variable Var4 am Ende aussehen. Die Variablen Var1-3 sind als Datum definiert. Folgendes habe ich bereits probiert:
. gen leer = ""
. egen Var4=concat(Var1 leer Var2 leer Var3)
Prinzipiell funktioniert das. Das Problem ist jedoch, dass das Resultat auf diese Weise als Text definiert ist und die Var4 dann folgendes Format annimmt.

Var4
1999..
2003..
.1994.
..2003

Die Missings sind inkludiert. Das hätte ich gerne vermieden. Mir würde helfen wenn mir jemand erklären kann, wie ich aus der jetzigen Situation die missings aus der Var4 wieder los werden kann oder wie ich Var4 direkt in meiner gewünschten Form generiere.

Vielen Dank im voraus und viele Grüße,
Hilfe
 
Beiträge: 2
Registriert: Di 14. Aug 2012, 17:47
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Daten zusammenführen ohne missings

Beitragvon daniel » Di 14. Aug 2012, 21:10

Die Daten sind derart, dass nur jeweils Variable1, 2 oder 3 einen gültigen Wert aufweisen?

Code: Alles auswählen
g var4 = var1
forv j = 2/3 {
    qui replace var4 = var`j' if mi(var4)
}
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: Daten zusammenführen ohne missings

Beitragvon Hilfe » Mi 15. Aug 2012, 11:19

Hallo Daniel,

ja dies ist der Fall. Ich hab allerdings selbst eine Lösung gefunden. Ich muss dazu sagen, dass ich absoluter Stata-Anfänger bin. Ich stehe jedoch unter Zeitdruck und hatte gestern nach mehreren Stunden selbst keine Lösung gefunden. Deshalb hatte ich hier nachgefragt. Bei der Lösung bin ich jetzt wie folgt vorgegangen.
. gen Var4 = Var1
. replace Var4 = Var2 if(Var4 == .)
. replace Var4 = Var3 if(Var4 == .)

Jetzt ist Var4 für meine 260.000 Beobachtungen durchweg als Zahl definiert und richtig zugeordnet.

Sorry, dass ich hier mit so elementaren Fragen komme.

Viele Grüße,

Tobias
Hilfe
 
Beiträge: 2
Registriert: Di 14. Aug 2012, 17:47
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 3 Gäste