Seite 1 von 2

jahres und branchen dummies

BeitragVerfasst: Mo 17. Sep 2012, 19:50
von Starta
Hallo!

ich würde für meine regressionen gerne jahres und branchen dummies basteln.

zu den jahres dummies kenne ich folgenden befehl:

tabulate year, generate(dum)

ich hätte aber gerne, dass er mir in der regressionstabelle auch die jahreszahl angibt, also nicht dum1, dum2, dum3 wie im obigen befehl.

zu den branchen dummies:

ich habe für jedes unternehmen einen fünfstelligen branchencode, bsp: 1####. 4####, 9####... Ich möchte aber einen dummy erstellen, der sich auf die erste ziffer bezieht. jemand eine idee???

Ist eigentlich ein gängiges problem bei den regressionen, habe in den foren hier aber nichts dazu gefunden.

danke euch!

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 12:27
von daniel
Ich nehme an factor variable notation (help fvvarlist) kommt für Dich nicht in Frage, da Du gerne Namen/Labels angezeigt bekommen möchtest.

Stata zeigt in Regressionstabellen keine Variablenlables, sondern nur Variablennnamen. Du hast daher m.E. zwei Möglichkeiten.

1. Du lässt Dir "schöne" Tabellen erstellen (mittels -estout- (Jann, SSC), -outreg- (Gallup, SSC), oder -outreg2- (Wada, SSC)), in denen Du die Variablenlabels anzeigen lässt.

2. Du benennst die Dummies entsprechend um. In etwa

Code: Alles auswählen
ren (dum*)(y#) ,addnum(<startyear>)


wobei <startyear> mit dem ersten Jahr ersetzt wird. Das funktioniert so nur dann, wenn es keine Lücken zwischenn den Jahren gibt.

Zur zweiten Frage. Liegen die Branchencodes als string Variable vor, oder als nummerische Variable?

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 13:45
von Starta
Danke!

Nochmals zu den year dummies: benutze ich dann in meiner fixed effects regression xtreg ... y, fe um die Jahres-Dummies zu berücksichtigen?

Zu den Branchen-Dummies: die sind als string variable deklariert.

noch eine ganz andere frage: ich merke gerade, dass meine zahlen bei manchen variablen in tausender, bei anderen in millionen angegeben ist. Kennt jmd eine funktion, mit der ich alle auf tausender bringe???

Grüße!

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 14:46
von daniel
xtreg ... y, fe


Eher

Code: Alles auswählen
xtreg ... y*, fe


Vorrausgesetzt, es gibt sonst keine Variablen im Datensatz, die mit y beginnen.

ich merke gerade, dass meine zahlen bei manchen variablen in tausender, bei anderen in millionen angegeben ist. Kennt jmd eine funktion, mit der ich alle auf tausender bringe???


Naja, um alles in Mio. anzugeben, einfach die Variablen durch 1000000 teilen? -generate- bzw. -replace- sollte hier ausreichen. Wieso willst Du das tun? Wenn Dir die Interpretation dann leichter fälltist das ok. Wenn Du dann "schönere" Koeffizienten bekommst auch. Um die Berechnugn sehr unterschiedlich skalierter Variablen musst Du Dir keine Gedanken machen, das tut StataCorp.

Zu den Branchen-Dummies: die sind als string variable deklariert.


Ok. Hier ein Entwurf

Code: Alles auswählen
// make new variable containing first diget
g str1 fidi = substr(<branche>, 1, 1)

// now make dummies
qui ta fidi ,g(<foo>)

// get rid of first diget variable
drop fidi

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 16:01
von Starta
Kannst Du mir bitte noch erklären was das g(<foo>) bedeutet?

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 16:31
von daniel
Ja, sorry.

Wenn ich codes hier rein stelle, sind die Elemente in < und > immer durch passende Elemente auszutauschen. In Stata helpfiles wären die kursiv gedruckt. <foo> wäre im helpfile stubname. -g- ist die Abkürzung für -generate-. Die Zeile heißt ausgeschrieben

Code: Alles auswählen
quietly tabulate fidi ,generate(foo)


Und erzeugt die Dummies foo1, foo2, ..

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 18:28
von Starta
Danke!

Die Syntax kann ich dann nachvollziehen, jedoch bekomme ich als einzige Variable foo1, mehr wird nicht erstellt. Woran kann das liegen?

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 18:35
von daniel
Schau Dir mal die Variable <fidi> an, bevor sie ge-drop-ped wird. Wenn nur ein Dummy erstellt wird, hat diese Variable nur eine Ausprägung. Den Grund dafür, kann ich gerade schlecht erkennen.

Die <branchen> Variable ist sicher eine string Variable? Und diese string Variabe hat z.B. die Ausprägngen

"1234"
"3456"

etc.?

Vielleicht kopierst Du mal einen Auszug (-list <branche> fidi in 1/5) hier rein? Zusätzlich ein -describe <branche>.

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 19:29
von Starta
Danke. Ich habe tatsächlich in einer Befehlszeile vorher -destring- <branche> gehabt.

Das habe ich jetzt herausgenommen und weiter die befehle

g str1 fidi = substr(<brannche>, 1, 1)

. qui ta fidi ,g(<foo>)

bekomme aber dann folgende fehlermeldung:

<foo> ambiguous abbreviation

Re: jahres und branchen dummies

BeitragVerfasst: Di 18. Sep 2012, 19:48
von daniel
Das ist verwirrend. Diese Fehlermeldung bezieht sich i.d.R. auf bereits existierende Variablen. Kannst Du ein reproduzierbares Mini-Beispiel erstellen.