【发布时间】:2014-02-20 15:52:08
【问题描述】:
我有一个看起来像这样的数据集
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
我已经更改了我的示例并将 Worker 职位包括在内,因为这更多地反映了我想要对原始数据集执行的操作。此线程中的答案仅在数据集中只有 Managers 和 Boss 时才有效 - 所以任何有关使这项工作的建议都会很棒。将不胜感激!!
【问题讨论】:
标签: r row cumulative-sum dplyr