You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于TIMESTAMP补充主数据集?仅导入补充数据集的唯一时间戳

解决方案

你的核心问题是用反了anti_join的左右表顺序,导致拿到的是主数据集独有的数据,而非补充数据集里主数据集缺失的部分。正确的做法是先提取补充数据集中主数据集没有的时间戳记录,再合并到主数据集。

步骤1:提取补充数据集中的缺失记录

使用anti_join时,将补充数据集放在左侧,主数据集放在右侧,这样就能得到补充数据集中主数据集没有的TIMESTAMP对应的行:

library(dplyr)
# 提取Supplemental中Master没有的TIMESTAMP记录
missing_records <- Supplemental %>%
  anti_join(Master, by = "TIMESTAMP")

步骤2:合并到主数据集

用bind_rows将提取出的缺失记录和原主数据集合并,得到完整数据集:

Complete <- bind_rows(Master, missing_records)
# 可选:按TIMESTAMP排序,让时间序列更规整
Complete <- Complete %>% arrange(TIMESTAMP)

验证结果

合并后的Complete数据集会包含原Master的6条记录,加上Supplemental中独有的2019-04-27 18:00:00和2019-04-27 18:20:00两条记录,共8条,完美填补了主数据集的时间缺口。

为什么之前的代码不对?

你之前的anti_join(Master, Supplemental)是保留Master中不在Supplemental的行,也就是Master独有的17:50和18:40这两条,这和你想要的“用补充数据填补缺口”的需求完全相反,调换左右表顺序就能解决问题。

内容的提问来源于stack exchange,提问作者shrimp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:26:20