【发布时间】:2018-10-17 03:50:04
【问题描述】:
我有一个数据框 (df),其中每个 CompanyID 都有 DirectorID 和他们在那里工作的时间段(StartYear 到 EndYear)。
我想按 CompanyID 拆分数据,并为每年(2006-2016 年)使用该年有效的 DirectorID 制作列。 df2 是我的预期输出。
df <-
DirectorID CompanyID StartYear EndYear
11734844255 25830 2015 2016
187836811559 25830 2006 2016
196167673 25830 2008 2015
401544433 25830 2006 2014
401604433 25830 2006 2010
5524344997 12339 2011 2016
5524354997 12339 2014 2016
5742347684 12339 2014 2014
6613115791 12339 2009 2016
因此,我的预期输出如下所示:
df2 <-
CompanyID Director_2016 Director_2015 Director_2014 Director_2013 Director_2012 Director_2011 Director_2010 Director_2009 Director_2008 Director_2007 Director_2006
25830 11734844255 11734844255 187836811559 187836811559 187836811559 187836811559 187836811559 187836811559 187836811559 187836811559 187836811559
25830 187836811559 187836811559 196167673 196167673 196167673 196167673 196167673 196167673 196167673 401544433 401544433
25830 NA 196167673 401544433 196167673 401544433 401544433 401544433 401544433 401544433 401604433 401604433
25830 NA NA NA NA NA NA 401604433 401604433 401604433 NA NA
12339 5524344997 5524344997 5524344997 5524344997 5524344997 5524344997 6613115791 6613115791 NA NA NA
12339 5524354997 5524354997 5524354997 6613115791 6613115791 6613115791 NA NA NA NA NA
12339 6613115791 6613115791 5742347684 NA NA NA NA NA NA NA NA
12339 NA NA 6613115791 NA NA NA NA NA NA NA NA
然后我想合并两个不同的数据框。 df3 包含 CompanyName、CompanyCountry 和 ISIN 信息,df4 包含每位董事的性别信息。
df3 <-
CompanyID CompanyName CountryName ISIN
25830 BANKxxx Austria AT000504
12339 BANKyyy Belgium AT034003
df4 <-
DirectorID Gender
11734844255 M
187836811559 F
196167673 M
401544433 M
401604433 M
5524344997 F
5524354997 M
5742347684 M
6613115791 M
因此,df5 是我预期的最终输出的开始。
df5 <-
CompanyID CompanyName CountryName ISIN Director_2016 Gender
25830 BANKxxx Austria AT000504 11734844255 M
187836811559 F
5524344997 F
5524354997 M
6613115791 M
请问,有人可以给我建议吗?谢谢。
【问题讨论】:
标签: r list dataframe merge split