[英]R data tables vlookup nearest date
我正在尝试使用data.tables在R中进行vlookup。 我正在查找特定日期的值,如果该值不可用,我想要最近的下一个值。
table1 <- fread(
"id | date_created
1 | 2018-01-02
1 | 2018-01-03
2 | 2018-01-08
2 | 2018-01-09",
sep ="|"
)
table2<- fread(
"otherid | date | value
1 | 2018-01-02 | 1
2 | 2018-01-04 | 5
3 | 2018-01-07 | 3
4 | 2018-01-08 | 5
5 | 2018-01-11 | 3
6 | 2018-01-12 | 2",
sep = "|"
)
结果应如下所示:
table1 <- fread(
"id | date | value2
1 | 2018-01-02 | 1
1 | 2018-01-03 | 5
2 | 2018-01-08 | 5
2 | 2018-01-09 | 3",
sep ="|"
)
编辑我修复它,这有效:
table1[, value2:= table2[table1, value, on = .(date=date_created), roll = -7]]
table1[, value2:= table2[table1, value, on = .(date=date_created), roll = -7]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.