r - 将 2 个连续但不规则的时间序列数据集与重叠行合并,消除重复行
问题描述
使用 R,我正在尝试使用相同的字段但具有重叠行的 2 个顺序但不规则的时间序列数据集;即,一些相同的事务出现在两个数据集中,我想消除重叠的行。
因为时间间隔是不规则的,我可能在每个数据集中都有有效的相同行。对于我的示例数据集,我想将数据集 1 中的第 1 到 12 行与数据集 2 中的第 6 到 11 行组合起来,以获得所需的结果。在此示例中,很明显数据集 2 的第 1 到第 5 行与数据集 1 的第 8 到第 12 行相同。我尝试使用 unique() 函数,但它也消除了相同的有效行。关于如何解决这个困境的任何想法?
数据集 1
1 2019-02-19 15:17:14 25886 1
2 2019-02-19 15:17:14 25886 1
3 2019-02-19 15:17:15 25885 1
4 2019-02-19 15:17:16 25886 2
5 2019-02-19 15:17:16 25886 1
6 2019-02-19 15:17:16 25886 2
7 2019-02-19 15:17:16 25886 1
8 2019-02-19 15:17:18 25885 4
9 2019-02-19 15:17:19 25885 1
10 2019-02-19 15:17:19 25885 1
11 2019-02-19 15:17:20 25885 2
12 2019-02-19 15:17:21 25885 1
数据集 2
1 2019-02-19 15:17:18 25885 4
2 2019-02-19 15:17:19 25885 1
3 2019-02-19 15:17:19 25885 1
4 2019-02-19 15:17:20 25885 2
5 2019-02-19 15:17:21 25885 1
6 2019-02-19 15:17:23 25886 2
7 2019-02-19 15:17:23 25886 3
8 2019-02-19 15:17:23 25886 3
9 2019-02-19 15:17:23 25886 1
10 2019-02-19 15:17:23 25886 1
11 2019-02-19 15:17:23 25886 2
我想要的结果是:
1 2019-02-19 15:17:14 25886 1
2 2019-02-19 15:17:14 25886 1
3 2019-02-19 15:17:15 25885 1
4 2019-02-19 15:17:16 25886 2
5 2019-02-19 15:17:16 25886 1
6 2019-02-19 15:17:16 25886 2
7 2019-02-19 15:17:16 25886 1
8 2019-02-19 15:17:18 25885 4
9 2019-02-19 15:17:19 25885 1
10 2019-02-19 15:17:19 25885 1
11 2019-02-19 15:17:20 25885 2
12 2019-02-19 15:17:21 25885 1
13 2019-02-19 15:17:23 25886 2
14 2019-02-19 15:17:23 25886 3
15 2019-02-19 15:17:23 25886 3
16 2019-02-19 15:17:23 25886 1
17 2019-02-19 15:17:23 25886 1
18 2019-02-19 15:17:23 25886 2
这是数据集 1
structure(list(time = structure(c(1550589434, 1550589434, 1550589435,
1550589436, 1550589436, 1550589436, 1550589436, 1550589438, 1550589439,
1550589439, 1550589440, 1550589441), class = c("POSIXct", "POSIXt"
), tzone = "UTC"), price = c(25886, 25886, 25885, 25886, 25886,
25886, 25886, 25885, 25885, 25885, 25885, 25885), size = c(1,
1, 1, 2, 1, 2, 1, 4, 1, 1, 2, 1)), row.names = c("1", "2", "3",
"4", "5", "6", "7", "8", "9", "10", "11", "12"), class = "data.frame")
这是数据集 2
structure(list(time = structure(c(1550589438, 1550589439, 1550589439,
1550589440, 1550589441, 1550589443, 1550589443, 1550589443, 1550589443,
1550589443, 1550589443), class = c("POSIXct", "POSIXt"), tzone = "UTC"),
price = c(25885, 25885, 25885, 25885, 25885, 25886, 25886,
25886, 25886, 25886, 25886), size = c(4, 1, 1, 2, 1, 2, 3,
3, 1, 1, 2)), row.names = c("1", "2", "3", "4", "5", "6",
"7", "8", "9", "10", "11"), class = "data.frame")
解决方案
一个想法是:
library(dplyr)
df2 %>%
anti_join(df1) %>%
bind_rows(df1)
推荐阅读
- haskell - Lucid nav 元素给出关于属性列表的错误
- python - 如何在 Pandas DataFrame 中查找值是否为 NaN
- android - AndroidX 错误:新旧数据绑定包都在依赖项中可用。我正在将一个颤振项目升级到 AndroidX
- linux - Docker容器中同一接口上的多个IP
- vue.js - v-on:select="myFunction" 事件永远不会被触发
- asp.net - 使用 maxWorkerThreads 调整 web.config 时出现内部服务器错误 500
- react-native - FlatList renderItem 错误,TypeError:未定义(评估“item.id”)
- javascript - 当存在 div 时,如何防止视频在后台播放?
- oracle - 从包 A 过程调用时,表插入在包 B 过程中不起作用
- javascript - 在 Quasar 页面消费 Api