Seite 1 von 1

forvalue dummy kreieren

BeitragVerfasst: Mo 10. Jun 2013, 08:42
von teed1991
Hey Stata Community!
Ich habe ein kleines Problem wo ich nicht weiterkomme:
Ich soll mit Hilfe einer forvalue-Schleife aus einer Varialben 10 dummies generieren!
Wie mache ich das?
Vllt ein bisschen genauere Erklärung der forvalue schleife würde mir sehr helfen und hilft '.xi' etwas?
Danke für eure Hilfe!
MFG
teed

Re: forvalue dummy kreieren

BeitragVerfasst: Mo 10. Jun 2013, 11:14
von daniel
Vllt ein bisschen genauere Erklärung der forvalue schleife würde mir sehr helfen und hilft '.xi' etwas?


Ersteres ist unter -help forvalues- zu finden, -xi- ist seit Stata 11 veraltet und sollte in keinem Fall verwendet werden.

Ansonsten wäre es vermutlich hilfreich zu wissen in welchem Kontext das Problem steht (wie sollen denn Dummies mit -forvalues- erstellt werden), und wie die Dummies (besser: Indikatorvariablen) denn eigentlich aussehen sollen.

Re: forvalue dummy kreieren

BeitragVerfasst: Mo 10. Jun 2013, 11:33
von teed1991
16 Bundesstaaten in einem Makro Daten satz und pro Bundesstaat also 16 Dummies ?? mit forvalue??

Re: forvalue dummy kreieren

BeitragVerfasst: Mo 10. Jun 2013, 11:53
von daniel
Könntest Du in ganzen Sätzen antworten? Wieso sind es nun 16 Dummies, zuvor waren es zehn. Und wie soll es pro Bundesland 16 Dummies geben? Was ist ein "Makro Daten satz"? In welchem Kontext steht dieses Problem? Ist das eine Hausaufgabe, oder wessahlb diese Beschränkung und -forvalues-? Wenn ja, wie lautet die genaue Aufgabenstellung?

Re: forvalue dummy kreieren

BeitragVerfasst: Mo 10. Jun 2013, 12:36
von teed1991
Es steht in keinem wesentlichen Kontext!
Ein Makro-Datensatz nach Geschlecht, Bundesstaaten etc geordnet ist gegeben.
Aufgabe: Nutzen Sue die forvalues-Schleife, um aus der Variable state 16 Länderdummies zu generieren!

Re: forvalue dummy kreieren

BeitragVerfasst: Mo 10. Jun 2013, 12:44
von daniel
Vermutlich wird hier auf so etwas abgezielt

Code: Alles auswählen
forv j = 1/16 {
    g byte foo`j' = (state == `j' ) if !mi(state)
}


Der Ansatz ist lausig, weil -tabulate- den selben Zweck schneller, besser (z.B. mit Variablenlabels) und allgemeiner erzielt. Wenn man mit -forvalues- arbeitet, geht das stark in Richtung Stata programming, und das sollte dann doch sehr viel allgemeiner sein, als obiger Ansatz, der nur bei variablen funktioniert, die genau 16 ganzzahlige Werte von 1 bis 16 durchnummeriert enthalten. Kann (und soillte unbedingt) ja aber noch kommen.

Ein Makro-Datensatz nach Geschlecht, Bundesstaaten etc geordnet ist gegeben.


erklärt keinesfalls den Unterschied zwischen einem Makro Datensatzund einem "normalen" datensatz, worauf meine Frage abzielte. Der Ansatz mag, je nachdemn, was ein Makro datensatz nun ist, nicht funktionieren.