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

合并近似相同时间序列,按分钟取整时间处理传感器数据

合并存在时间戳偏移的同频率时间序列

你有两个来自不同传感器的10分钟间隔时间序列,因时间戳设置差异,起始时间差了3分钟。直接用merge()会因为时间戳不匹配生成大量NA值,以下是两种忽略时间偏移、按观测顺序合并的方法:

方法一:按观测位置直接合并(忽略原时间戳)

适合不需要保留原时间戳,仅需对应观测配对的场景:

# 将xts对象转为普通数据框,提取数值列
df_y <- data.frame(value_y = coredata(y))
df_y1 <- data.frame(value_y1 = coredata(y1))

# 按行合并两个数据框
merged_df <- cbind(df_y, df_y1)

# 可选:添加统一时间戳(比如用第一个序列的时间戳)
merged_df$timestamp <- index(y)

# 若需要转回xts格式
merged_xts <- xts(merged_df[, c("value_y", "value_y1")], order.by = merged_df$timestamp)

方法二:对齐时间戳后合并

适合需要保留统一时间基准的场景(两个序列采样频率完全一致,仅起始偏移,替换时间戳安全):

# 将第二个序列的时间戳替换为第一个序列的时间戳
index(y1) <- index(y)

# 直接合并,无NA值
merged <- merge(y, y1, all = TRUE)

合并后示例结果

> merged
                     y y1
2024-04-11 14:03:00  1  3
2024-04-11 14:13:00  3  4
2024-04-11 14:23:00  4 10
2024-04-11 14:33:00  2  6
2024-04-11 14:43:00  3 25
2024-04-11 14:53:00  3  2
2024-04-11 15:03:00  4  3
2024-04-11 15:13:00 10  4
2024-04-11 15:23:00  6  2
2024-04-11 15:33:00 25  3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:27:18