wie man kumulativ Werte in einem Vektor in R addiert

Ich habe einen Datensatz, der so aussieht

id  name    year    job    job2
1   Jane    1980    Worker  0
1   Jane    1981    Manager 1
1   Jane    1982    Manager 1
1   Jane    1983    Manager 1
1   Jane    1984    Manager 1
1   Jane    1985    Manager 1
1   Jane    1986    Boss    0
1   Jane    1987    Boss    0
2   Bob     1985    Worker  0
2   Bob     1986    Worker  0
2   Bob     1987    Manager 1
2   Bob     1988    Boss    0
2   Bob     1989    Boss    0
2   Bob     1990    Boss    0
2   Bob     1991    Boss    0
2   Bob     1992    Boss    0

Hier,job2 bezeichnet eine Scheinvariable, die angibt, ob eine Person aManager in diesem Jahr oder nicht. Ich möchte zwei Dinge mit diesem Datensatz tun: Erstens möchte ich die Zeile nur beibehalten, wenn die Person wurdeBoss zum ersten Mal. Zweitens würde ich gerne sehen, wie viele Jahre eine Person als ... gearbeitet hatManager und speichern Sie diese Informationen in der Variablencumu_job2. Also hätte ich gerne:

id  name    year    job    job2 cumu_job2
1   Jane    1980    Worker  0   0
1   Jane    1981    Manager 1   1
1   Jane    1982    Manager 1   2
1   Jane    1983    Manager 1   3
1   Jane    1984    Manager 1   4
1   Jane    1985    Manager 1   5
1   Jane    1986    Boss    0   0
2   Bob     1985    Worker  0   0
2   Bob     1986    Worker  0   0
2   Bob     1987    Manager 1   1
2   Bob     1988    Boss    0   0

Ich habe meine Beispiele geändert und die Worker-Position eingefügt, da dies mehr widerspiegelt, was ich mit dem ursprünglichen Datensatz machen möchte. Die Antworten in diesem Thread funktionieren nur, wenn sich nur Manager und Vorgesetzte im Datensatz befinden. Daher sind Vorschläge für die Umsetzung dieser Funktion sehr hilfreich. Ich werde sehr dankbar sein !!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage