jahres und branchen dummies

Regressionsmodelle aller Art mit Stata.

jahres und branchen dummies

Beitragvon Starta » Mo 17. Sep 2012, 19:50

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!
Starta
 
Beiträge: 19
Registriert: Mi 22. Aug 2012, 23:54
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: jahres und branchen dummies

Beitragvon daniel » Di 18. Sep 2012, 12:27

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?
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: jahres und branchen dummies

Beitragvon Starta » Di 18. Sep 2012, 13:45

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!
Starta
 
Beiträge: 19
Registriert: Mi 22. Aug 2012, 23:54
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: jahres und branchen dummies

Beitragvon daniel » Di 18. Sep 2012, 14:46

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
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: jahres und branchen dummies

Beitragvon Starta » Di 18. Sep 2012, 16:01

Kannst Du mir bitte noch erklären was das g(<foo>) bedeutet?
Starta
 
Beiträge: 19
Registriert: Mi 22. Aug 2012, 23:54
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: jahres und branchen dummies

Beitragvon daniel » Di 18. Sep 2012, 16:31

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, ..
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: jahres und branchen dummies

Beitragvon Starta » Di 18. Sep 2012, 18:28

Danke!

Die Syntax kann ich dann nachvollziehen, jedoch bekomme ich als einzige Variable foo1, mehr wird nicht erstellt. Woran kann das liegen?
Starta
 
Beiträge: 19
Registriert: Mi 22. Aug 2012, 23:54
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: jahres und branchen dummies

Beitragvon daniel » Di 18. Sep 2012, 18:35

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>.
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: jahres und branchen dummies

Beitragvon Starta » Di 18. Sep 2012, 19:29

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
Starta
 
Beiträge: 19
Registriert: Mi 22. Aug 2012, 23:54
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: jahres und branchen dummies

Beitragvon daniel » Di 18. Sep 2012, 19:48

Das ist verwirrend. Diese Fehlermeldung bezieht sich i.d.R. auf bereits existierende Variablen. Kannst Du ein reproduzierbares Mini-Beispiel erstellen.
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

Nächste

Zurück zu Regressionsmodelle

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron