Kalkulation von Variablen

Statistische Auswertung von Longitudinal- und Panel-Daten mit Stata.

Kalkulation von Variablen

Beitragvon filaglad » So 24. Jun 2012, 14:51

Hallo,
ich möchte in meinem Panel-Datenset Gerne eine Indikator variable erstellen, mit der ich abeben kann zu den wieviel größten % aller firmen in meinem Datenset firma X zum zeitpunkt T gehört (also firma C ist unter den 20% der größten firmen meines datensets in 1990). Die Indikator variable soll also je nach größe einer firma den wert 1,2 oder 3 annehmen (für jeweils einen Zeitpunkt). Genauer gesagt möchte ich mein Datenset in die Größten 20% mittleren 60% und kleinsten 20% zu jedem Zeitpunkt unterteilen:
Code: Alles auswählen
Firma   Größe  Zeit
A       1000   1990
A       1200   1991
B       3000   1990
B       2900   1991
C       5000   1990
C       5500   1991

folgendes habe ich versucht, allerdings mache ich bei der Kalkulation in Zeile 2 wohl irgendetwas falsch. Zudem wäre ich dankbar wenn mir jemand sagen könnte wie ich Zeile 3 meines Codes implementieren kann.
Code: Alles auswählen
bysort zeit: egen rank = rank(Größe)
by Zeit: egen rank_percentage = rank/max(rank)   
by Zeit: egen final_rank = ("wenn rank_percentage <=20% dann 1, wenn rank_percentage >20% & <80% dann 2, ansonsten 3)

anstelle von max(rank) habe ich auch "/1300" oder "/_n" versucht, alles klappt aber nicht und gibt mir den error "unkown egen function".
ich bin für jede hilfe sehr dankbar!
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Kalkulation von Variablen

Beitragvon daniel » So 24. Jun 2012, 22:03

Das lässt sich im wide format besser lösen. Hier ein code, mit dem Du anfangen kannst

Code: Alles auswählen
qui levelsof <zeit> ,l(years)
reshape wide <größe> ,i(firma) j(zeit)
foreach y of loc years {
   _pctile <größe>`y' ,p(20 80)
   qui g byte <indicator>`y' = ///
   cond(<größe>`y' <= `r(r1)', 1, ///
   cond(<größe>`y' >= `r(r2)', 3, 2))
}
reshape long <größe> <indicator> ,i(<firma>) j(<zeit>)
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: Kalkulation von Variablen

Beitragvon filaglad » Mo 25. Jun 2012, 14:01

daniel hat geschrieben:Das lässt sich im wide format besser lösen. Hier ein code, mit dem Du anfangen kannst

super daniel, vielen dank! klappt bestens und hat mir viel arbeit gespart ;)
filaglad
 
Beiträge: 42
Registriert: So 17. Jun 2012, 13:18
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Longitudianal und Panel-Analyse

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste