Фиктивные переменные для строк, удовлетворяющих условию - R - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу создать фиктивную переменную для каждой акции инвестора, на которую влияет обмен акциями в рамках слияния.В конечном счете, я хочу проверить разницу в готовности продать акцию, основываясь на том, выбрал ли инвестор акцию самостоятельно или был пассивно наделен путем обмена акциями.

У меня есть двафреймы данных.df1 содержит список инвесторов, их акций, дат и портфельных владений (то есть объема акций, которые они держат в любой момент времени):

Ввод:

investors   stock   date    inventory
A           1   01/01/1990  100
A           1   02/01/1990  0
A           2   03/04/1995  50
A           2   04/04/1995  100
A           3   02/01/1990  100
A           3   03/01/1990  100
B           1   01/01/1990  50
B           1   02/01/1990  0
B           3   02/01/1990  50
B           3   03/01/1990  50
C           3   02/01/1990  200
C           3   03/01/1990  200

df2 содержитсписок слияний с акциями (по акциям приобретателя и целевой акции) и датам заключения сделок:

date        acquirer    target
02/01/1990  3       1

Я хочу найти инвесторов, на которых акции напрямую повлияли-пополнение (т. е. на дату слияния, полученные акции приобретателя за их владения целевыми акциями).

Окончательный результат должен выглядеть примерно так, как показано ниже.Поскольку покупатель 3 объединился с целью 1, а инвесторы A и B оба держали целевую акцию на дату слияния и, следовательно, получили акции покупателя с этого дня вперед, они отмечены в столбце обмена акциями.Инвестор C не помечен, несмотря на то, что он держал акции покупателя 3 на дату слияния, поскольку он не держал целевые акции до даты слияния.

Фиктивная переменная 1 должна начинаться на дату слияния для покупателяакции, и выполните всю оставшуюся часть набора данных для этой комбинации инвестор / акции (например, для инвестора А, все даты после 03.01.1990 для акции 3 также будут иметь 1 в столбце обмена акциями. df1 заканчивается 31/12/ 1996)

Было бы замечательно, если бы также была отмечена целевая дата до слияния.Т.е. присвоение 1 акциям покупателя и 2 целевым акциям.

Вывод:

investors   stock   date    inventory   stock-swap
A           1   01/01/1990  100         2   
A           1   02/01/1990  0           2   
A           2   03/04/1995  50          0   
A           2   04/04/1995  100         0   
A           3   02/01/1990  100         1
A           3   03/01/1990  100         1
B           1   01/01/1990  50          2   
B           1   02/01/1990  0           2   
B           3   02/01/1990  50          1
B           3   03/01/1990  50          1
C           3   02/01/1990  200         0   
C           3   03/01/1990  200         0   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...