как кумулятивно добавлять значения в один вектор в R

У меня есть набор данных, который выглядит так

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

Вот,job2 обозначает фиктивную переменную, указывающую, был ли человекManager в течение этого года или нет. Я хочу сделать две вещи с этим набором данных: во-первых, я хочу сохранить строку только тогда, когда человек сталBoss в первый раз. Во-вторых, я хотел бы видеть совокупные годы, когда человек работалManager и сохранить эту информацию в переменнойcumu_job2, Таким образом, я хотел бы иметь:

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

Я изменил свои примеры и включил положение «Рабочий», потому что это больше отражает то, что я хочу сделать с исходным набором данных. Ответы в этой теме работают только тогда, когда в наборе данных есть только менеджеры и боссы, поэтому любые предложения по выполнению этой работы были бы хорошими. Я'буду очень признателен !!

Ответы на вопрос(5)

Ваш ответ на вопрос