【发布时间】:2014-07-20 11:19:40
【问题描述】:
我正在寻找按日期范围连接两个表的简单方法。一个表包含确切的日期,另一个表包含两个变量,标识时间段的开始和结束。如果第一个表中的日期在第二个表的范围内,我需要加入表。
data1 <- data.table(date = c('2010-01-21', '2010-01-25', '2010-02-02', '2010-02-09'),
name = c('id1','id2','id3','id4'))
data2 <- data.table(beginning=c('2010-01-15', '2010-01-23', '2010-01-30', '2010-02-05'),
ending = c('2010-01-22','2010-01-29','2010-02-04','2010-02-13'),
class = c(1,2,3,4))
result <- data.table(date = c('2010-01-21', '2010-01-25', '2010-02-02', '2010-02-09'),
beginning=c('2010-01-15', '2010-01-23', '2010-01-30', '2010-02-05'),
ending = c('2010-01-22','2010-01-29','2010-02-04','2010-02-13'),
name = c('id1','id2','id3','id4'),
class = c(1,2,3,4))
有什么帮助吗?我发现了一些困难的例子,但由于格式的原因,它们甚至不适用于我的数据。我需要类似的东西:
select * from data1
left join
select * from data2
where data2.beginning <= data1.date <= data2.ending
谢谢
【问题讨论】:
-
你试过
sqldf包了吗?