[R] "Conditional" match?
r user
ruser2006 at yahoo.com
Fri Jan 27 21:57:07 CET 2006
I have two datasets, big and small.
s_date<-c(2005-12-02, 2005-12-01,
2004-11-02,2002-10-05,2000-12-15)
s_id<-c(a,a,b,c,d)
b_date<- c(2005-12-31, 2005-12-31,
2004-12-31,2002-10-05,2001-10-31,1999-12-31)
b_id<-c(a,b,c,d,e,c)
small<-data.frame(date_=as.Date(s_date),id=s_id)
big<-data.frame(date_=as.Date(b_date),id=b_id)
For each row in big, I want to look for a match in
small where two conditions are met:
a. big$id=small$id
b. big$date_>=small$date
If match is found, I wish to return the value of the
date. If no match is found, I want NA.
If more than 1 match is found, I wish to return the
match where small$date is greatest.
Im thinking I might be able to do this using the
match function, and by sorting the small dataset by
date_ in descending order.
However, I do not know how to make the match
conditional on big$date_>=small$date_.
Any help is appreciated.
More information about the R-help
mailing list