Variable als "DATUM" definieren

Statistische Auswertung von Longitudinal- und Panel-Daten mit Stata.

Variable als "DATUM" definieren

Beitragvon filaglad » So 17. Jun 2012, 17:00

Hallo,
ich habe ein Panel-Datenset von der wide in die long Form gebracht. Nun habe ich beim <xtset> command das Problem, dass die Werte meiner "month" (Excel-Format *MM/JJJJ) Variable nicht als Datum erkannt werden. Die Variable sieht wie folgt aus:
Month
12001
22001
32001
...
122001
012002

Kann mir jemand erklären mit welchem Befehl ich diese Variable als DATUM definieren kann, so dass STATA erkennt dass es sich um die jeweiligen Monate in den jeweiligen Jahren handelt? Ich finde auf Stata-Help und anderen Seiten immer nur die Funktion <date("DMY")>. Kann damit aber irgenwie nix anfangen.

Ich bin euch für jede Hilfe sehr dankbar.
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable als "DATUM" definieren

Beitragvon daniel » So 17. Jun 2012, 18:28

Falls <month> eine string variable ist, versuch mal folgendes

Code: Alles auswählen
g tmp = "0" + <month> if (length(<month>) < 6)
g date = date(tmp, "MY")
form date %td
drop tmp
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 als "DATUM" definieren

Beitragvon filaglad » So 17. Jun 2012, 19:26

daniel hat geschrieben:Falls <month> eine string variable ist, versuch mal folgendes

g tmp = "0" + <month> if (length(<month>) < 6)
g date = date(tmp, "MY")
form date %td
drop tmp


wenn ich den code so implementiere (also auch <month> in spitzen klammern) bekomme ich die error message "if not found". Wenn ich die spitzen klammern weg lasse bekomme ich den error "type mismatch".
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable als "DATUM" definieren

Beitragvon filaglad » So 17. Jun 2012, 19:27

.... und ich sehe gerade das meine "month" variabel als "float" definiert ist. Hat das etwas bestimmtes zu sagen bzw. könnte es vielleicht daran liegen?
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable als "DATUM" definieren

Beitragvon daniel » So 17. Jun 2012, 21:49

Die eckigen Klammern setze ich für von Dir auszutauschende Elemente. In den Stata help files wären das kursive Elemente.

Der "type mismatch" Fehler liegt daran, dass die Variable float format hat. Ein Wert von 012002, wie Du ihn angibst ist dann allerdings nicht möglich. Der angepasste code wäre

Code: Alles auswählen
tostring <month> ,g(tmp)
replace tmp = "0" + tmp if (length(tmp) < 6)
g date = date(tmp, "MY")
form date %td
drop tmp
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 als "DATUM" definieren

Beitragvon filaglad » Mo 18. Jun 2012, 09:07

daniel hat geschrieben:tostring <month> ,g(tmp)
replace tmp = "0" + tmp if (length(tmp) < 6)
g date = date(tmp, "MY")
form date %td
drop tmp

super Daniel! 1000 Dank, die Transfomration hat funktioniert. Das Einzige was mich noch wundert ist, dass alle meine numerischen Variablen (Firmen Rendite, GDP, Staatsschulden, etc) als "float" typisiert sind mit dem format "%8.0g". Das gilt auch für die neu definierte "date" Variable, allerdings ist diese als %td formatiert (also wie in deinem code vorgegeben!, allerdings immer noch vom typ "float"). Könntest du mir bitte noch erklären, warum meine numerischen Variablen als "float" definiert sind und nicht als "int" oder "double"? Ursprünglich (vor dem reshapen) hatte ich die Daten aus meinem Excel-Spreadsheet mit der "copy-paste" Funktion einfach in den Stata-Editor kopiert. Könnte es vielleicht daran liegen? Würde zudem die "float" typisierung meiner numerischen variablen ohne weiteres eine <xtreg, fe> zulassen?

Beste Grüße!
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable als "DATUM" definieren

Beitragvon daniel » Mo 18. Jun 2012, 10:09

Deiner Frage hier, und Deinen Fragen zum gleichen Thema parallel auf Statalist (http://www.stata.com/statalist/archive/ ... 00829.html), entnehme ich, dass Du Dich intensiver mit der Dokuzmentation von Stata befassen solltest.

Beginne mit

help date type
(relevant für Deine Frage hier)

ebenfalls

help compress

und

help comments
(für die Frage auf Statalist)
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 als "DATUM" definieren

Beitragvon filaglad » Mo 18. Jun 2012, 17:37

Vielen Dank, alle Probleme sind gelößt!
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Longitudianal und Panel-Analyse

Wer ist online?

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