Отсутствуют данные при выполнении скользящего соединения - PullRequest
0 голосов
/ 19 октября 2018

У меня есть два набора данных, один из которых состоит из данных о слиянии (например, даты слияния, уплаченная цена и т. Д.), А другой - из данных финансовой отчетности на уровне компании (например, активы, денежные потоки и т. Д.).Я хочу объединить два набора данных по уникальному номеру CUSIP, связанному с целями слияний, а затем по самым последним данным финансовой отчетности до слияния.

Пример:

DS1(Target_CUSIP=c(123456, 234567, 345678, 123456), merger_signing_date=c(12/30/2015, 05/08/2008, 06/02/2013), price=c(1.5, .78, 2, .4))
DS2(Target_CUSIP=c(123456, 123456, 123456, 234567, 234567, 234567, 345678, 345678, 345678), financial_statement_date(10/31/12, 10/31/13, 10/31/15, 12/31/06, 12/31/07, 12/31/08, 12/31/2011, 12/31/2012, 12/31/2013))

Вот что я ввожу:

setkey(DS2, Target_CUSIP, financial_statement_date)
setkey(DS1, Target_CUSIP, merger_signing_date)
DS2[DS1, roll=T]

В итоге все совпадения из DS1 сопоставляются с соответствующими данными из DS2, но некоторые изданные DS2 теряются после объединения, хотя эти данные точно присутствуют в DS2 до объединения.

Спасибо за любую помощь, которую вы можете предложить.

1 Ответ

0 голосов
/ 19 октября 2018

Я пришел к выводу, что синтаксис правильный.Должна быть ошибка в базовых данных, особенно в форматировании CUSIP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...