Datenformat ändern

Fragen zu Stata Syntax und Do-Files.

Datenformat ändern

Beitragvon Robin_der » Mo 13. Jun 2022, 11:33

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!
Robin_der
 
Beiträge: 6
Registriert: Mo 13. Jun 2022, 11:24
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Staxa » Mo 13. Jun 2022, 11:57

Das hier müsste dir helfen zum Thema Daten umrechnen bzw. anders anzeigen: https://www.stata.com/manuals13/ddateti ... ranslation
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 680
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Robin_der » Mo 13. Jun 2022, 12:47

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)
Robin_der
 
Beiträge: 6
Registriert: Mo 13. Jun 2022, 11:24
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Robin_der » Mo 13. Jun 2022, 14:25

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!
Robin_der
 
Beiträge: 6
Registriert: Mo 13. Jun 2022, 11:24
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Staxa » Mo 13. Jun 2022, 14:42

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
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 680
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Robin_der » Mo 13. Jun 2022, 22:34

Das hat funktioniert, vielen Dank für Ihre Hilfe! :)
Robin_der
 
Beiträge: 6
Registriert: Mo 13. Jun 2022, 11:24
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Robin_der » Di 14. Jun 2022, 13:36

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.
Robin_der
 
Beiträge: 6
Registriert: Mo 13. Jun 2022, 11:24
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Staxa » Di 14. Jun 2022, 14:15

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.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 680
Registriert: Di 27. Feb 2018, 12:56
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Robin_der » Di 14. Jun 2022, 15:30

m:1 funktioniert nicht. mit duplicate kann man wahrscheinlich die Doppelung weg kriegen oder kann man die Date Variablen auch irgendwie kombinieren?
Robin_der
 
Beiträge: 6
Registriert: Mo 13. Jun 2022, 11:24
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Datenformat ändern

Beitragvon Staxa » Di 14. Jun 2022, 18:09

Wie gesagt, das kann man nur entscheiden, wenn man die Datensätze gut kennt und weiß, was genau man vorhat.
Stata für Anfänger: www.statabook.com
Staxa
 
Beiträge: 680
Registriert: Di 27. Feb 2018, 12:56
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

cron