[R] Merge data under conditions

jim holtman jholtman at gmail.com
Sun Mar 13 03:00:06 CET 2011


use the sqldf package:

> require(sqldf)
> a
  time x
1  1.0 4
2  2.2 5
3  5.2 6
> b
  time y
1    0 1
2    1 3
3    2 5
4    4 7
5    5 9
> sqldf("
+     select a.time, a.x, b.y
+         from a, b
+         where abs(a.time - b.time) < 0.5
+     ")
  time x y
1  1.0 4 3
2  2.2 5 5
3  5.2 6 9
>


On Sat, Mar 12, 2011 at 4:14 PM, flymer <flymer at hotmail.fr> wrote:
> Dear All,
>
> Debuting in R, I'm facing a problem.
> I have 2 vectors, say 'a' et 'b', and I'd like to merge them according to
> the proximity of their variable 'time'.
> How to do to keep elements which satisfy (for example) 'a$time-b$time<0.5'?
>
> For example :
>
>> a
>  time x
> 1  1.0 4
> 2  2.2 5
> 3  5.2 6
>
>> b
>  time y
> 1    0 1
> 2    1 3
> 3    2 5
> 4    4 7
> 5    5 9
>
> I'd like to get :
>
>>
>  time x y
> 1  1.0 4 3
> 2  2.2 5 5
> 3  5.2 6 9
>
> I thought using the fonction 'merge'...
> I hope you can help me! Thanks in advance!
>
> Jerome.
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Merge-data-under-conditions-tp3350864p3350864.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?



More information about the R-help mailing list