我有以下数据集,其变量如下:
member_id
-每个成员的ID号
year
-有关年份
gender
-二进制变量,0是男性,1是女性
party
-成员的聚会
Leadership
-TRUE
如果该成员在政府或反对派中担任领导职务,FALSE
如果没有
house_start
-成员成为国会议员的日期
Year.Entered
-他们成为国会议员的那一年
Years.in.parliament
- 如何多年它一直因为他们第一次当选
Edu
-国会议员在当年参加与教育有关的辩论的时间。
member_id year gender party Leadership house_start Year.Entered Years.in.parliament Edu
1 386 1997 0 Conservative FALSE 03/05/1979 1979 18 7
2 37 1997 0 Labour FALSE 03/05/1979 1979 18 10
3 47 1997 0 Labour TRUE 09/06/1983 1983 14 157
4 408 1997 0 Conservative TRUE 03/05/1979 1979 18 48
5 15 1997 1 Liberal Democrat FALSE 09/06/1983 1983 14 3
6 15 1997 1 Liberal Democrat TRUE 09/06/1983 1983 14 9
从数据集中的第5行和第6行可以看到,同一成员在一年中记录了两次。由于Leadership
变量的原因,在整个数据集中某些成员都发生了这种情况。例如,该成员(id为15)在1997年上半年没有领导职位,但在当年晚些时候获得了领导职位。我希望能够合并这两行并在这种情况下具有Leadership
变量TRUE
。我还需要计算Edu
这些行的总和,因此对于该成员,它将变成12(因为我希望每个成员每年在此策略区域中参与的次数)。所以我希望它看起来像:
member_id year gender party Leadership house_start Year.Entered Years.in.parliament Edu
1 386 1997 0 Conservative FALSE 03/05/1979 1979 18 7
2 37 1997 0 Labour FALSE 03/05/1979 1979 18 10
3 47 1997 0 Labour TRUE 09/06/1983 1983 14 157
4 408 1997 0 Conservative TRUE 03/05/1979 1979 18 48
5 15 1997 1 Liberal Democrat TRUE 09/06/1983 1983 14 12
我一直在尝试在Excel上手动更改这些设置,但是我需要针对几个不同的策略区域执行此操作,因此这需要很多时间。任何帮助将非常感激!
我们可以做一组sum
,并arrange
和slice
第一排
library(dplyr)
df1 %>%
group_by(member_id, year, gender, party) %>%
mutate(Edu = sum(Edu)) %>%
arrange(party, desc(Leadership)) %>%
slice(1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句