我想检查不同数据列中同一列中是否存在不同列但相同行中的两个值。
df1看起来像这样:
Target Acquirer Merger date
1 2 3/1/1990
4 3 5/2/1991
5 6 6/8/1992
df2看起来像这样:
Investor Stock Date
A 1 1/1/1990
A 1 2/1/1990
A 2 3/1/1990
A 2 4/1/1990
A 2 5/1/1990
A 2 6/1/1990
A 2 7/1/1990
B 1 1/1/1990
B 1 2/1/1990
B 1 3/1/1990
B 1 4/1/1990
C 2 4/2/1991
C 2 5/2/1991
C 2 6/2/1991
C 2 7/2/1991
C 2 8/2/1991
我想检查投资者(df2)在同一投资组合中是否存在同一对股票(来自df1,例如1和2)。理想情况下,我要寻找的是说目标存在于df1中合并日期的前一天,而收购方存在于合并日期或之后的任何一天。
如果条件满足,我希望获得的输出是df2中收购方股票旁边的虚拟变量(在合并日期及之后)。
预期输出:
Investor Stock Date dummy
A 1 1/1/1990
A 1 2/1/1990
A 2 3/1/1990 1
A 2 4/1/1990 1
A 2 5/1/1990 1
A 2 6/1/1990 1
A 2 7/1/1990 1
B 1 1/1/1990
B 1 2/1/1990
B 1 3/1/1990
B 1 4/1/1990
C 2 4/2/1991
C 2 5/2/1991
C 2 6/2/1991
C 2 7/2/1991
C 2 8/2/1991
我已经了解到dplyr可以解决此问题,但我仍无法弄清楚如何对此进行精确编码。
-
第二个问题: 是否可以进行上述检查,但限制假人不超过df1中规定的日期的12个月?