[英]Merge two data frames based on range value in R
是否有可能有一個函數可以考慮在關節的“by”參數中有一個范圍?
例子:
#Table 1
A B C D
1 a 1 10 15
2 a 11 1000 12.5
3 b 1 5 2
4 b 6 1000 1
#Table 2
A B
1 a 53
2 b 3
聯合表:
A B 1.D
1 a 53 12.5
2 b 3 2
看起來您想根據與 A 和 B 上的表 1 的滾動連接來更新表 2
library(data.table)
setDT(tb1)
setDT(tb2)
tb2[tb1, on = .(A, B), roll = -Inf, D := i.D]
這更新了tb2
所以現在我們有了
tb2
# A B D
# 1: a 53 12.5
# 2: b 3 2.0
使用的數據:
tb1 <- fread('
A B C D
a 1 10 15
a 11 1000 12.5
b 1 5 2
b 6 1000 1
')
tb2 <- fread('
A B
a 53
b 3
')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.