Ranking im Paneldatensatz

For(), If(), While() und Verwandte. Diskussion von programmiertechnischen Fragen.

Ranking im Paneldatensatz

Beitragvon R-Noop » Do 23. Mai 2019, 09:00

Liebe Forenmitglieder,

ich würde gerne in meinem Paneldatensatz den Rang einer Variablen ausgeben. Allerdings soll das Ranking nicht über das gesamte Sample laufen, sondern sich jeweils nur auf einen bestimmten Zeitpunkt t beziehen. Beispielsweise würde ich gerne für Unternehmen A zum Zeitpunkt 1988 den Rang des Gewinns ermitteln (absteigend -> hoher Gewinn = hohe Rangzahl). Im Beispiel wäre der Rang 1, da A 1988 den kleinsten Gewinn erzielt hat.

Unternehmen Jahr Gewinn Rang
A 1988 22 1
A 1989 30
A 1990 12
B 1988 34
B 1989 19
C 1988 32
C 1989 7
C 1990 14
C 1991 20

Der Vektor "Rang" wurde bereits im Dataframe vordefiniert. Ich möchte gerne eine Scheife wegen der Laufzeit vermeiden. Mein bisher beste Idee wäre:

daten$Rang <- rank(subset(daten$Gewinn, daten$Jahr)) Error: muss boolesch sein!

Für eure Hilfe wäre ich unendlich dankbar. Ich hoffe jemand findet die Zeit.

Beste Grüße

Noop
R-Noop
 
Beiträge: 3
Registriert: So 12. Nov 2017, 10:29
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Zurück zu Programmierkonzepte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast