相关疑难解决方法(0)

使用data.table:输出中缺少列的非equi连接

我使用data.table以下方法进行左非等连接:

OUTPUT <- DT2[DT1, on=.(DOB, FORENAME, SURNAME, POSTCODE, START_DATE <= MONTH, EXPIRY_DATE >= MONTH)]
Run Code Online (Sandbox Code Playgroud)

OUTPUT包含正确的左连接,与该异常MONTH列(这是目前在DT1)的缺失.

这是一个错误data.table吗?

注:当然,START_DATE,EXPIRY_DATEMONTH在同一个YYYY-MM-DD,IDATE格式.基于这些非等标准,连接的结果是正确的.只是缺少该列,我需要在进一步的工作中使用它.

编辑1:简化的可重复示例

DT1 <- structure(list(ID = c(1, 2, 3), FORENAME = c("JOHN", "JACK", 
"ROB"), SURNAME = c("JOHNSON", "JACKSON", "ROBINSON"), MONTH = structure(c(16953L, 
16953L, 16953L), class = c("IDate", "Date"))), .Names = c("ID", 
"FORENAME", "SURNAME", "MONTH"), row.names = c(NA, -3L), class = c("data.table", 
"data.frame"))

DT2 <- structure(list(CERT_NUMBER = 999, FORENAME = …
Run Code Online (Sandbox Code Playgroud)

join r left-join data.table

13
推荐指数
1
解决办法
1098
查看次数

标签 统计

data.table ×1

join ×1

left-join ×1

r ×1