У меня есть две таблицы: policies
и claims
policies<-data.table(policyNumber=c(123,123,124,125),
EFDT=as.Date(c("2012-1-1","2013-1-1","2013-1-1","2013-2-1")),
EXDT=as.Date(c("2013-1-1","2014-1-1","2014-1-1","2014-2-1")))
> policies
policyNumber EFDT EXDT
1: 123 2012-01-01 2013-01-01
2: 123 2013-01-01 2014-01-01
3: 124 2013-01-01 2014-01-01
4: 125 2013-02-01 2014-02-01
claims<-data.table(claimNumber=c(1,2,3,4),
policyNumber=c(123,123,123,124),
lossDate=as.Date(c("2012-2-1","2012-8-15","2013-1-1","2013-10-31")),
claimAmount=c(10,20,20,15))
> claims
claimNumber policyNumber lossDate claimAmount
1: 1 123 2012-02-01 10
2: 2 123 2012-08-15 20
3: 3 123 2013-01-01 20
4: 4 124 2013-10-31 15
Таблица политик действительно содержит термины политики, поскольку каждая строка уникально идентифицируется номером политики вместе с датой вступления в силу.
Я хочу объединить две таблицы таким образом, чтобы ассоциировать заявки с политическими терминами. Требование связано с термином политики, если он имеет тот же номер политики, а убыток - в соответствии с датой вступления в силу и датой истечения срока действия политики (эффективные даты - это включенные ограничения и даты истечения срока действия являются исключительными ограничениями.) Я объединять таблицы таким образом?
Это должно быть похоже на левое внешнее соединение. Результат должен выглядеть как
policyNumber EFDT EXDT claimNumber lossDate claimAmount
1: 123 2012-01-01 2013-01-01 1 2012-02-01 10
2: 123 2012-01-01 2013-01-01 2 2012-08-15 20
3: 123 2013-01-01 2014-01-01 3 2013-01-01 20
4: 124 2013-01-01 2014-01-01 4 2013-10-31 15
5: 125 2013-02-01 2014-02-01 NA <NA> NA