У меня есть два набора данных, один из которых состоит из данных о слиянии (например, даты слияния, уплаченная цена и т. Д.), А другой - из данных финансовой отчетности на уровне компании (например, активы, денежные потоки и т. Д.).Я хочу объединить два набора данных по уникальному номеру 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 до объединения.
Спасибо за любую помощь, которую вы можете предложить.