Hallo Leute,
ich bin ein Stata Neuling und arbeite mich gerade erst ein.
Nun bin ich auf ein Problem gestoßen und hoffe auf eure Hilfe.
Ich möchte eine Panelregression machen, in der ich aus dem Datensatz zunächst die Länder herraussuche und dann für jedes Land einzeln eine FE Regression durchführe.
In meinem Beispiel wäre das für die USA:
clear
* Datei öffnen
use F:\Stata\EuropeanCos_PANEL.dta
* Gewünschtes Land auswählen
drop if CountryCode!="USA"
* Fehlende Daten herausfiltern
drop if CashDividendsCFStmt==.
* Dividende vom Vorjahr berechnen
generate LastDiv=CashDividendsCFStmt[_n-1] if Key[_n]==Key[_n-1]
* Erstes Jahr herausfiltern
drop if LastDiv ==.
* Regression FE
encode Key, gen(Key1)
xtset Key1 Year
xtreg CashDividendsCFStmt NetIncomeBasic LastDiv, fe}[/b]
Nun würde ich gerne alle Regressionen in einem Do-File durchführen und nicht jedes mal manuell "USA" "DEU" usw einfügen.
Außerdem hätte ich gerne nach Durchführung der Schleife den Output der FE Regression von jedem Land zu sehen.
Ich habe mal eine Schleife versucht, leider funktioniert diese aber nicht wirklich:
* Clear
clear
* Datei öffnen
use F:\Stata\EuropeanCos_PANEL.dta
*Herauslesen der Länder
levels CountryCode, local(levels)
foreach l of local levels {
clear
* Datei öffnen
use F:\Stata\EuropeanCos_PANEL.dta
* Gewünschtes Land auswählen
drop if CountryCode!=`"l"'
* Fehlende Daten herausfiltern
drop if CashDividendsCFStmt==.
* Dividende vom Vorjahr berechnen
generate LastDiv=CashDividendsCFStmt[_n-1] if Key[_n]==Key[_n-1]
* Erstes Jahr herausfiltern
drop if LastDiv ==.
* Regression FE
encode Key, gen(Key1)
xtset Key1 Year
xtreg CashDividendsCFStmt NetIncomeBasic LastDiv, fe}
end
Letztendlich werden alle Oberservations gelöscht und es kommt eine Fehlermeldung "variable __000001 not found".
Kann mir da jemand weiter helfen?
Vielen Dank!!!
Max