0
上の条件との合併:Merge two dataframes with condition on timestamp しかし、私の質問より一般的ではなく、時系列固有のここに未回答の質問に似た2つのデータフレーム
私はから2列上の近接状態でマージする2つのデータフレームを持っています両方のデータフレーム。 SQLで私は、Rに上記を行うためのcanincal方法である私が探しているものを
merge(x,y,by='user', condition = x$label - y$label <=2)
はとても以下はなしでなければなりませんlike-何かを
select * from (select * from A) T1 inner join (select * from B) T2 on T1.user = T2.user and T1.label - T2.label < 2
ような何かをやっているだろう行ベースのRで3,7,11,12,13,15など....
set.seed(1212)
a <- data.frame(user=rep(paste("u",1:3,sep=''),4),label=sample.int(10,12,T))
b <- data.frame(user=rep(paste("u",1:3,sep=''),4),label=sample.int(10,12,T))
merge(a,b,by='user')
user label.x label.y
1 u1 3 1
2 u1 3 3
3 u1 3 10
4 u1 3 5
5 u1 3 1
6 u1 3 3
7 u1 3 10
8 u1 3 5
9 u1 1 1
10 u1 1 3
11 u1 1 10
12 u1 1 5
13 u1 4 1
14 u1 4 3
15 u1 4 10
16 u1 4 5
17 u2 7 1
18 u2 7 7
19 u2 7 4
20 u2 7 2
21 u2 2 1
22 u2 2 7
23 u2 2 4
24 u2 2 2
25 u2 6 1
26 u2 6 7
27 u2 6 4
28 u2 6 2
29 u2 1 1
30 u2 1 7
31 u2 1 4
32 u2 1 2
33 u3 8 7
34 u3 8 1
35 u3 8 7
36 u3 8 4
37 u3 1 7
38 u3 1 1
39 u3 1 7
40 u3 1 4
41 u3 10 7
42 u3 10 1
43 u3 10 7
44 u3 10 4
45 u3 9 7
46 u3 9 1
47 u3 9 7
48 u3 9 4
これはもちろん、動作しますが、参加あまりにも高価になった後、私は、それ自体がsince.actualデータが巨大で、又貸しでマージを調整する方法を探しています:
以上の明示的、
J
式を使用.... –@ZahiroMor、 'data.table'を試してください(私の編集した答えを見てください)。 – mt1022