Loop für Durchschnittswerte von Variablen

Fragen zu Stata Syntax und Do-Files.

Loop für Durchschnittswerte von Variablen

Beitragvon raider1986 » So 2. Feb 2014, 21:03

Hallo liebe Statauser,

ich bearbeite ich einen Paneldatensatz der 10 Jahre umfasst mit ca. 15 unabhängigen Variablen. Ich möchte nun gerne für jede Variable in jedem Jahr einen Durchschnittswert errechnen, der sich aus den beiden Vorgängerwerten der Variable sowie dem aktuellen Wert der Variable zusammensetzt. Meine Idee war,das mit folgender Befehlssequenz zu machen:

sort country date

foreach var in ca export_growth external_debt fdi gdp_growth gdp_capita inflation pop_growth total_reserves trade unemployment gov_revenue gov_expenditure {
by country date: generate `var'_new=(`var'+`var[_n-1]'+`var[_n-2]')/3
}

irgendetwas stimmt jedoch mit den Klammern im Loop nicht, ich bekomme folgende Fehlermeldung: unknown function()
Auch wenn ich die Klammern und die Division weglasse, sondern nur versuche den aktuellen Wert und seine zwei Vorgängerwerte zu addieren klappt es nicht, dann erscheint "invalid syntax". Ich bin für jede Hilfe dankbar, wo mein Fehler liegt :)

Johannes
raider1986
 
Beiträge: 7
Registriert: Sa 18. Jan 2014, 02:00
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Loop für Durchschnittswerte von Variablen

Beitragvon daniel » Mo 3. Feb 2014, 12:11

Stata evaluiert dieses local

Code: Alles auswählen
`var[_n-1]'


und findet nichts, da Du keine local mit dem Namen var[_n-1] erstellt hast (und auch nicht erstellen kannst, da dies ein üngültiger Name wäre). Du willst

Code: Alles auswählen
`var'[_n-1]


was zu

Code: Alles auswählen
ca[_n - 1]
export_growth [_n -1]
...


wird. Du willst zudem einen -if- qualifier setzen, der diese Bererchnung erst ab der zweiten Beobachtung beginnt, da _n - 1 in der ersten Beobachtung missing ist, und folglich alle weiteren Berechnungen ebenfalls fehelnde Werte erzeugen.
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: Loop für Durchschnittswerte von Variablen

Beitragvon raider1986 » Di 4. Feb 2014, 15:46

Vielen Dank, du hast mir sehr weitergeholfen :)
raider1986
 
Beiträge: 7
Registriert: Sa 18. Jan 2014, 02:00
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

cron