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 <fly...@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@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? ______________________________________________ R-help@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.