我有一个看起来像这样的数据集
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
第一次成为时的行。其次,我想查看一个人作为 a 工作的累积年限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
我更改了我的示例并包含了 Worker 职位,因为这更多地反映了我想要对原始数据集执行的操作。此线程中的答案仅在数据集中只有 Managers 和 Boss 时才有效 - 所以任何关于使这项工作的建议都会很棒。我将不胜感激!!