【发布时间】:2019-11-01 09:28:06
【问题描述】:
我需要增量更新 SQL 数据库,因此接收以下 data.table 作为输入。
library(data.table)
dt1 <- data.table(Category = letters[1:4]
, Max.Date = rep(as.Date("2018-01-01"),4))
我现在想过滤 R 中的 data.table 以选择所有类别,这些类别在我的 data.table dt2 中有较晚的日期,但当然过滤应该在单个类别的级别上完成,以便日期仅按类别进行比较,而不是针对整个 data.table 进行比较
dt2 <- data.table(Category = letters[1:8]
, Max.Date = rep(as.Date("2019-01-01"),8))
所需输出应从dt2 中选择,其中 Max.Date 大于dt1,因此所需输出应为:
dt.desired
Category Max.Date
1: a 2019-01-01
2: b 2019-01-01
3: c 2019-01-01
4: d 2019-01-01
因此从dt2 中进行选择,其中每个类别的日期大于dt1 中的日期。
【问题讨论】:
-
为什么
c和d不在输出中? -
在编辑中修复了它。在我的示例中,它应该返回前两行,因此在创建 MWE 时我犯了一个错误。
标签: r dplyr data.table