gpt4 book ai didi

r - 如何在 R 中匹配两个具有约束的数据框?

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:13 25 4
gpt4 key购买 nike

我有两种数据集。

一个是人在电梯上的数据,一个是电梯到达一楼的数据。

这是乘过电梯的人的数据

usercode    board time(sec) 
1 165
2 167
3 170
4 340
5 351
6 820
7 830
8 1200
9 1201
10 1400

这是电梯时刻表的数据

elevator code   arrival time
1 164
2 338
3 813
4 1175
5 1367

我想要的是

usercode    board time(sec) elevator code     elevator arrival time
1 165 1 164
2 167 1 164
3 170 1 164
4 340 2 338
5 351 2 338
6 820 3 813
7 830 3 813
8 1200 4 1175
9 1201 4 1175
10 1400 5 1367

救救我!!请

最佳答案

您可能需要考虑在 data.table 中使用滚动连接,如下所示:

arrival[people, on="arrivaltime_sec", roll=Inf]

# elevatorcode arrivaltime arrivaltime_sec usercode
# 1: 1 164 165 1
# 2: 1 164 167 2
# 3: 1 164 170 3
# 4: 2 338 340 4
# 5: 2 338 351 5
# 6: 3 813 820 6
# 7: 3 813 830 7
# 8: 4 1175 1200 8
# 9: 4 1175 1201 9
# 10: 5 1367 1400 10

数据:

library(data.table)

people <- fread("usercode,arrivaltime_sec
1,165
2,167
3,170
4,340
5,351
6,820
7,830
8,1200
9,1201
10,1400")

arrival <- fread("elevatorcode,arrivaltime
1,164
2,338
3,813
4,1175
5,1367")

arrival[, arrivaltime_sec := arrivaltime]

关于r - 如何在 R 中匹配两个具有约束的数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49003025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com