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

标签 r database datatable matching

我有两种数据集。

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

这是乘过电梯的人的数据

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/

相关文章:

R CRAN,R3.2升级后安装库Rcpp失败

r - 计算数据框中变量中多个字母的出现次数?

python - 为多个请求重用数据库连接

r - 从日期创建因子变量 'weekend' 和 'weekday'

database - Hive 表存储在 Azure 存储帐户中的什么位置?

mysql - 似乎无法找到 mysql 数据库

asp.net - 将数据表绑定(bind)到 GridView

asp.net - 使用 ArrayList 过滤数据表

Jquery UI 破坏了网站上的所有其他表

c++ - R:如何编写可中断的 C++ 函数,并恢复部分结果