Я хочу проверить, существуют ли два значения в разных столбцах, но одна и та же строка в пределах одного столбца в отдельном фрейме данных.
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
Я хочу проверить, присутствует ли одна и та же пара акций (из df1, например, 1 и 2) в одном портфеле для инвестора (df2). В идеале я хочу сказать, что цель присутствовала за день до даты слияния в 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 может справиться с этим, но я не смог понять, как именно это кодировать.
-
Второй вопрос:
Можно ли также выполнить вышеуказанную проверку, но ограничить манекен, чтобы он не превышал 12 месяцев с даты, указанной в df1?