Variable erstellen, die Beobachtungen durchnummeriert

Fragen zu Stata Syntax und Do-Files.

Variable erstellen, die Beobachtungen durchnummeriert

Beitragvon Plie » Mo 23. Sep 2013, 14:18

Hallo,
um eine Auswertung korrekt durchführen zu können, muss ich mir eine Variable definieren, welche die Beobachtungen, geordnet nach dem Datum durchnummeriert. Da ich dies für 126 Datensätze, welche alle gleich aufgebaut sind und deren Namen durchnummeriert sind, machen muss, wollte ich das am liebsten mit STATA mit Hilfe einer Schleife erledigen. Dabei war meine Überlegung, dass ich den Datensatz erst sortiere und dann mit dem egen-Befehl durchnummerieren lasse. Hierbei ist jedoch das Problem aufgetreten, dass die Datensätze oftmals eine unterschiedliche Anzahl an Beobachtungen beinhalten und der egen-Befehl für die Funktion fill eine numlist mit der exakten Anzahl der Beobachtungen benötigt. Um somit nicht für jeden Datensatz seperat die Anzahl der Beobachtungen ermittel zu müssen wollte ich auf den intern gespeichert Wert r(N) in der numlist zurückgreifen. Siehe nachfolgende Syntax:

Code: Alles auswählen
forvalues i=1/126 {
use "`i'.dta", clear
sort Date
sum Date
egen EF = fill(1/r(N))
save "`i'.dta", replace
}


Hier gibt es jedoch immer eine Fehlermeldung: fill( ) invalid -- invalid numlist
Deswegen wollte ich Alternativ ein Skalar definieren und diesen benutzen. Siehe nachfolgende Syntax:

Code: Alles auswählen
forvalues i=1/126 {
use "`i'.dta", clear
sort Date
scalar a=r(N)
egen EF = fill(1/a)
save "`i'.dta", replace
}


auch hier kamm die selbe Fehlermeldung.

Daher meine Frage, ist es möglich in einer numlist auf einen intern abgespeicherten Wert zurückzugreifen und wenn ja wie, bzw. gibt es eine andere Möglichkeit die Beobachtungen geordnet nach der Variable Date durchzunummerieren?

Für Hilfe wär ich wirklich sehr dankbar!
Vielen Dank schon mal vorab!
Plie
 
Beiträge: 3
Registriert: Mo 23. Sep 2013, 14:04
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Variable erstellen, die Beobachtungen durchnummeriert

Beitragvon daniel » Mo 23. Sep 2013, 15:13

-egen- ist hier überflüssig -- das geht viel schneller:

Code: Alles auswählen
forvalues i=1/126 {
    use "`i'.dta", clear
    sort Date
    g EF = _n
    save "`i'.dta", replace
}
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 erstellen, die Beobachtungen durchnummeriert

Beitragvon Plie » Mo 23. Sep 2013, 15:20

Vielen Dank! Jetzt funltioniert es! :)
Plie
 
Beiträge: 3
Registriert: Mo 23. Sep 2013, 14:04
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 1 Gast