Seite 1 von 1

Datenformat ändern

BeitragVerfasst: Mo 13. Jun 2022, 11:33
von Robin_der
Hallo zusammen,

ich habe folgendes Problem:
ich habe eine Datumsvariable in dem Format z.B.:"03jan2018" und brauche diese aber als String mit 8 Ziffern, also wie folgt (03012018).
Ich wäre sehr dankbar für Ihre Hilfe!

Re: Datenformat ändern

BeitragVerfasst: Mo 13. Jun 2022, 11:57
von Staxa
Das hier müsste dir helfen zum Thema Daten umrechnen bzw. anders anzeigen: https://www.stata.com/manuals13/ddateti ... ranslation

Re: Datenformat ändern

BeitragVerfasst: Mo 13. Jun 2022, 12:47
von Robin_der
Vielen Dank für die schnelle Rückmeldung!
Ich habe es mit folgendem Befehl versucht aber die neu erstellte Variable enthält nur Missings.
. generate date_hired = date(date_hired_str, "MDY")
. format date_hired %td

(natürlich habe ich die geeignete Variablenname, die für meinen Datensatz wichtig ist, geändert)

Re: Datenformat ändern

BeitragVerfasst: Mo 13. Jun 2022, 14:25
von Robin_der
Gibt es eine andere Möglichkeit wie man "01jan2018" in folgender Form "01012018" mit dem Replace-Befehl bringt?
Um jede Hilfe wäre ich Ihnen sehr dankbar!

Re: Datenformat ändern

BeitragVerfasst: Mo 13. Jun 2022, 14:42
von Staxa
Frickellösung

Code: Alles auswählen
clear all
set obs 2
gen old = "03jan2018"
replace old = "11dec2010" in 2
gen new = date(old, "DMY")
gen month_num=month(new)
gen year=year(new)
gen day = day(new)
gen filler_month = 0 if month < 10
gen filler_day = 0 if day < 10
gen final = string(filler_day) + string(day) + string(filler_month) ///
   + string(month) + string(year)
replace final = subinstr(final,".", "", .)
list

Re: Datenformat ändern

BeitragVerfasst: Mo 13. Jun 2022, 22:34
von Robin_der
Das hat funktioniert, vielen Dank für Ihre Hilfe! :)

Re: Datenformat ändern

BeitragVerfasst: Di 14. Jun 2022, 13:36
von Robin_der
Ich habe diesen Code ausgeführt für beide Datensätze und dann wollte ich diese zusammenführen mithilfe des Merge-Befehls. Allerdings kommt da folgende Fehlermeldung: variables variable_1 variable_2 do not uniquely identify observations in the master data. Ich dachte das musste eigentlich funnktionieren, da beide Datensätze diese Variablen enthalten und haben außerdem viele gleiche Werte.

Re: Datenformat ändern

BeitragVerfasst: Di 14. Jun 2022, 14:15
von Staxa
Das Problem ist, dass diese eine Merge variable in einem der Datensatz Doppelung aufweist. Also entweder ist das ein Fehler oder du musst einen m:1 merge nutzen. Wie genau hängt sehr spezifisch von deinen Daten und deiner Aufgabenstellung ab.

Re: Datenformat ändern

BeitragVerfasst: Di 14. Jun 2022, 15:30
von Robin_der
m:1 funktioniert nicht. mit duplicate kann man wahrscheinlich die Doppelung weg kriegen oder kann man die Date Variablen auch irgendwie kombinieren?

Re: Datenformat ändern

BeitragVerfasst: Di 14. Jun 2022, 18:09
von Staxa
Wie gesagt, das kann man nur entscheiden, wenn man die Datensätze gut kennt und weiß, was genau man vorhat.